Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Переход с MySQL на PostgreSQL
В настоящее время мы используем MySQL для продукта, который мы создаем, и стремимся перейти на PostgreSQL как можно скорее, в первую очередь по причинам лицензирования.
Кто-нибудь еще сделал такой шаг? Наша база данных-это жизненная сила приложения и в конечном итоге будет хранить TBs данных, поэтому я очень хочу услышать об опыте работы improvements/losses, основных препятствий в преобразовании SQL и хранимых процедурах и т. д.
Edit: просто чтобы разъяснить тем, кто спрашивал, почему нам не нравится лицензирование MySQL. Мы разрабатываем коммерческий продукт, который (в настоящее время) зависит от MySQL в качестве бэк-энда базы данных. В их лицензии говорится, что мы должны платить им процент от нашей прейскурантной цены за установку, а не фиксированную плату. Как стартап, это менее чем привлекательно.
Стив, мне пришлось перенести свое старое приложение в другую сторону, то есть PgSQL->MySQL. Я должен сказать, что вы должны считать себя счастливчиком ;-) Распространенные ошибки:
- SQL на самом деле довольно близко к языковому стандарту, поэтому вы можете страдать от диалекта MySQL, который вы уже знаете
- MySQL спокойно усекает varchars, которые превышают максимальную длину, тогда как Pg жалуется-быстрый обходной путь состоит в том, чтобы иметь эти столбцы как 'text' вместо 'varchar' и использовать триггеры для усечения длинных строк
- двойные кавычки используются вместо обратных апострофов
- логические поля сравниваются с использованием IS и не являются операторами, однако MySQL-совместимый INT (1) С = и <> все еще возможен
- нет REPLACE, используйте комбинацию DELETE / INSERT
- Pg довольно строго следит за соблюдением целостности внешних ключей, поэтому не забудьте использовать при удалении каскад ссылок
- если вы используете PHP с PDO, не забудьте передать параметр методу lastInsertId() - это должно быть имя последовательности, которое обычно создается таким образом: [tablename]_[primarykeyname]_seq
Надеюсь, это хоть немного поможет. Есть много удовольствия, играя с Postgres!
Я сделал аналогичное преобразование, но по другим причинам. Это было потому, что нам нужна была лучшая поддержка ACID и возможность заставить веб-пользователей видеть те же самые данные, которые они могли бы использовать с помощью других инструментов DB (один ID для обоих).
Вот те вещи, которые нас укусили:
- MySQL не применяет ограничения так же строго, как PostgreSQL.
- Существуют различные процедуры обработки дат. Они должны быть преобразованы вручную.
- Любой код, который не ожидает ACID соблюдение может быть проблемой.
Тем не менее, как только он был на месте и протестирован, он стал намного лучше. При правильной блокировке по соображениям безопасности и интенсивном параллельном использовании PostgreSQL работает лучше, чем MySQL. На тех вещах, где блокировка не требовалась (только чтение), производительность была не совсем такой хорошей, но она все равно была быстрее, чем сетевая карта, поэтому это не было проблемой.
Чаевые:
- Автоматизированные скрипты в контрибе каталоги являются хорошей отправной точкой для вашего преобразования, но понадобится как правило, чтобы его немного трогали.
- Я бы очень рекомендовал вам использование изоляции Serializable уровень по умолчанию.
- Инструмент pg_autodoc хорош для реально увидеть ваши структуры данных и помогите найти любые отношения вам забыл дать определение и привести в исполнение.
Мы сделали переход от MySQL3 к PostgreSQL 8.2, а затем 8.3. PostgreSQL имеет базовое значение SQL и многое другое, поэтому, если ваш MYSQL не использует необычные MySQL вещи, вы будете OK.
По моему опыту, наша база данных MySQL (версия 3) не имеет внешнего ключа... PostgreSQL позволяет вам иметь их, поэтому нам пришлось изменить это... и это было хорошо, и мы нашли какую-то ошибку.
Еще одна вещь, которую нам пришлось изменить, - это кодировка (C#) коннектора, которая не была такой же в MySQL. MySQL - й был более устойчивым, чем PostgreSQL-й. У нас все еще есть несколько проблем с PostgreSQL одним.