MySQLからPostgreSQLに切り替えますか?


8

昨年はMySQLに慣れてきましたが、そのトレンドの高まりとHerokuでWebアプリを均質化したいという願望から、代わりにPostgreSQLをWebアプリに使用したいと思います。PostgreSQLを学習するためのリソースはありますが、データベースの概念を最初から説明し直したくはありません。また、ほとんど同じものをすべて再学習する必要はありません。

MySQLとPostgreSQLの間で理解する必要がある重要な違いは何ですか-日常的に私に影響を与えるMySQLとPostgreSQLの間の?


1
「PostgreSQL」には大文字の「G」はありません。
tdammers 2012

回答:


4

データベースの使い方によって多少異なります。ORMを使用している場合は、まったく問題に気付かない可能性があります。

アプリケーションをPostgresqlを使用するように(Herokuへのデプロイメント用に)切り替えましたが、Railsによって作成されたSQLがSQLiteでは正常に機能し、Postgresqlでは機能しない状況を発見した後でのみです。常に、結合が複数のテーブルで同じ列名をクエリしたときに問題が発生しました。SQLiteは気にしませんでしたが、Postgresqlは 'where'句にある場合、関係名を指定することを望みました。

私はMySQLとPostgresqlの両方を使用してきましたが、両者の基本的な概念の違いについてはよくわかりません。PGはより良い評判を生み出しているようですが、どちらもかなり堅固なクライアント/サーバーデータベースです。

ただし、MySQLとPostgresqlの間には、いくつかの重要な構文上の違いがあります。私はここにそれらのためのまともなガイドを見つけました:http : //en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL


1
「SQLiteは気にしませんでした」。Postgresを使用する正当な理由のように思えます。同じ列名を持つ2つのテーブルには、まったく異なる関連のないデータを格納できます。
mike30

1

MySQLとPostgreSQLの間で理解する必要がある重要な違いは何ですか-日常的に私に影響を与えるMySQLとPostgreSQLの間の?

最大のものは、データベースの目的です。MySQLは基本的に、アプリケーションのインフォメーションストアとして構築されています。PostgreSQLは、同じデータにアクセスするいくつかのアプリケーションのための情報管理ソリューションです。この違いはさまざまな方法で現れます。たとえば、MySQLを使用すると、アプリケーションは独自のsql_modeを設定できます。これは、有効と見なされるデータに影響します。PostgreSQLにはそのようなオプションはありません。その結果、MySQLでは、SQLをアプリケーションプライベートAPIと考えることが強く推奨されますが、PostgreSQLでは、アプリケーション間で安全に共有できるAPIです。これは多くの小さな違いにつながります。MySQLはおそらくアプリケーションをより簡単に移植できますが、PostgreSQLはおそらくデータ環境をより簡単に移植できます。

次の情報が役立つ場合があります。http//ledgersmbdev.blogspot.com/2012/09/or-modelling-interlude-postgresql-vs.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.