【PostgreSQL】に関する知恵袋
【質問】
ど素人が、PostgreSQL から MySQL に移行しようとしています。PostgreSQL の構造上、 データベースクラスタ-DB-スキーマ-オブジェクト(テーブル、ビューなど)となっていますが、MySQLでは DB-オブジェクト(テーブル、ドメインナビのドメインの取得情報を語ると、ビューなど)という構造しか取れないと思っています。#そもそもこの認識が間違っている?アプリケーションへの影響を最小限にする事を前提に考えると、ドメインナビのドメインの取得情報の説明をすると、PostgreSQLの知恵袋を紐解くと、オブジェクトのレベルはそのままにしておきたいので、PostgreSQLで言うところのスキーマまでのレベルをMySQLのDBとして移行するのがベターなのか、PostgreSQLの知恵袋に関する説明をすると、他に方法があるのかを教えていただけないでしょうか?
【解答】
ドメインナビのドメインの取得情報に関しては、PostgreSQLの知恵袋であれば、DBMSは標準SQLを使ってると言われてますが、標準SQLよりは各自DBMSが提供している関数、SQLを利用した方が楽なのでVIEW、Stored Procedureに各DBMS独自文法が入ってる場合が多いです。なので「アプリケーションをそのままにしたい」と思ってもアプリケーションの中にSQLが書いてあれば難しいと思います。ドメインナビのドメインの取得情報を語ると、もし全てがStored ProcedureとViewで定義されて、それしか利用しなければ移行はありですね。しかしDBMSそれぞれデータ形式が異なる場合もあります。例えばPostgreSQLがサポートしているデータ型はsmallint, int, bigint, decimal, numericですが、PostgreSQLの知恵袋の詳細をお伝えすると、MySQLにはtinyint, smallint, mediumint, int, bigint, decimal, numericをサポートします。この場合はPostrgreSQLのデータ型は全てMySQLで使えるので大丈夫じゃない?と思いますが、データ型はこれだけではないです。例えばintervalという日付関連データ型はMySQLでは認識できません。なので、Applicationのソースに書いてあるSQL、データ型とVIEW、SPを把握してから移行を検討した方がいいのではないかと思います。==================================Database Consultant/ArchitectorLowy Shinhttp://www.bghds.comhttp://www.bshds.com==================================
