2014-01-19 4 views
0

В настоящее время мы работаем над проектом, который требует переноса базы данных MySQL в PostgreSQL. Я никогда не работал с PostgreSQL.Как PostgreSQL отличается от MySQL?

  • Может ли мое знание MySQL быть достаточным для обработки PostgreSQL?
  • Являются ли они одинаковыми и используют один и тот же синтаксис с запросами и т. Д.? Или это две разные вещи?
  • То, что я слышу от нашего лидера группы, это то, что PostgreSQL лучше, чем MySQL, при работе с координатами. Почему это так и правда?
+0

Какова ваша исходная база данных? Вы упомянули SQL, это MS SQL Server или MySQL? –

+2

Основное отличие, вероятно, в более сильном наборе текста. И управление версиями строк позволяет ссылаться на одну и ту же таблицу в запросе обновления. Плюс: лучшее стандартное соответствие и доступные GIS-расширения PostGis. – wildplasser

+0

См. Здесь: http: // stackoverflow.com/q/8181604/330315 –

ответ

1

Конечно, если вы хорошо знаете SQL и реляционные базы данных, вы можете управлять любой базой данных. Однако существуют синтаксические различия, которые очень важны.

PostgreSQL больше похож на Oracle. Вы можете обнаружить, что требуется некоторое время, чтобы привыкнуть к тому, как он делает определенные вещи.

Но это замечательная база данных. У вас не должно быть проблем.

+0

Спасибо за ответ. Можно ли также получить доступ к PostgreSQL через PHPMyAdmin или любой другой графический интерфейс, например, с MySQL? – Sahl

+0

PostgreSQL имеет свой собственный клиент-клиент: http://www.pgadmin.org/ – duffymo

0

Ну, все базы данных SQL имеют общий язык для общения с ними (очевидно, это SQL), когда вы нормально работаете с ними. Но когда дело доходит до расширенных функций и администрирования, каждая база данных имеет свой собственный путь.

Так как разработчик приложения, который хочет выполнить инструкции DML, вы не столкнетесь с большими трудностями. Но если вы хотите разработать хранимые процедуры, триггеры ... вы узнаете новый синтаксис и язык.

Кстати, согласно моим исследованиям, PostgreSQL имеет более расширенный анализатор запросов (парсер), который может быстрее выполнять запрос. (Ну, это не всегда правило, PostgreSQL просто реализует больше алгоритмов для обработки join s).

0

Может ли мое знание MySQL быть достаточным для обработки PostgreSQL?

Я так не думаю, что многие дополнительные функции обрабатываются по-разному.

Являются ли они одинаковыми и используют один и тот же синтаксис с запросами и т. Д.? Или это две разные вещи?

Это две разные вещи, основанные на одном и том же стандарте SQL. Как и Windows и Linux - это операционные системы POSIX.

Другой вопрос, что то, что я слышу от нашего лидера группы, заключается в том, что PostgreSQL лучше, чем MySQL, при работе с координатами. Я не совсем уверен, почему и как это верно.

Действительно, PostgreSQL имеют extra indexes (например GIST, джин) и множество расширений, некоторые из которых являются readily available. PostGIS приходит на ум для работы с координатами.

+0

Err ... Ссылки на подзапросы mysql, которые не работают с Postgres без CTE, пожалуйста? –

+1

@Denis: Я столкнулся с проблемой подзапроса при импорте устаревшей базы данных MySQL в PostgreSQL с использованием внешних таблиц. См. Http://pastebin.com/49LyeNYR. Проблема постоянна, но я не могу повторить ее, используя только собственные (не-иностранные) таблицы PostgreSQL. Рад знать, что подзапросы работают, как ожидалось, с не-иностранными таблицами. – ArtemGr

+0

Интересно ... По иностранным таблицам вы имеете в виду внешние обертки данных, верно? –

Смежные вопросы