「PostgreSQL」導入・活用実践講座のQ&A
msjadmin です
2026年2月12日に開催した、オンラインセミナー 「PostgreSQL導入・活用実践講座」の参加者様からいただいたご質問への回答をここで共有します。
① 接続・設定・実行環境(ODBC/Gateway/FEP 含む)
- Q1. C/S実行環境の場合、クライアント機ににPostgreSQLをインストールするのではなく、PsqlODBCのみ選択してインストールするだけでよいですか?
- A1. はい。C/S実行環境では、クライアントPCには32Bit版psqlODBCのみインストールすれば問題ありません。
詳細は「Magic xpa × PostgreSQL導入ハンドブック」に追記しておりますのでご参照ください。
- Q2. Postgreインストールに際して、32bit版と64bit版のODBCを分けてインストールした方がいい理由を教えてください。
- A2. 同時に選択してインストールした場合、片方のみがインストールされる事象が確認されました。
確実にインストールするため、32bit版・64bit版は個別にインストールしてください。
- Q3. FEPを使用する場合、Magic側からの接続方法は通常のPostgreと同様でいいのでしょうか。(ゲートウェイ、設定方法など)
- A3. はい。接続方法に違いはありません。
FEP環境でも、Magic xpaからは「ODBC接続のPostgreSQL」として扱われます。
ゲートウェイ設定や接続文字列の基本も変わりません。
- Q4. セミナー内でODBCの32ビット、64ビットに関するお話がありました。これは、ODBC接続で実施するものすべてについて同じと認識しましたが、誤認識ありますでしょうか?
- A4. セミナー内でご説明した内容は、PostgreSQLゲートウェイ用ODBCの設定に限り有効です。なお、ODBCゲートウェイはマジックソフトウェアジャパンのサポート対象外となっております。
②ライセンス・サポート(Gateway費用/サポート範囲)
- Q5. Magic xpaとPostgreSQLで運用しているシステムでPostgreSQLについて何か問題があった場合、Magicサポートサービス(有料)に問い合わせ可能ですか?
- A5. PostgreSQL Gatewayは、Magicサポートサービス(有料)の対象です。ただし、 PostgreSQL自体(インストールも含む)は、サポート対象外です。必要に応じて、富士通様などが提供する有償PostgreSQLサポートのご利用を推奨いたします。
- Q6. PostgreSQLGetewayが別途必要で有料ですか?価格体系は?
- A6. はい、別途有償ライセンスです。
価格体系等はDEVNET内、Magic xpa 4Plus のFAQをご参照ください。
https://devnet.magicsoftware.co.jp/magicxpa/magicxpa4plus/faq/#PostgreSQL
価格については、Magic xpa 4Plus価格表をご参照ください。
https://devnet.magicsoftware.co.jp/magicxpa/magicxpa4plus/magicxpa4pluspurchase/
- Q7. 開発版でPostgreSQLで開発したものを、開発端末で、ECF作成後、runtimeで実行できないですが、ゲートウェイの購入が必要ですか?
- A7. Postgresゲートウェイの購入が必要です。
開発版(Magic xpa Studio)には2つのruntimeエンジンが含まれております。
・MgxpaStudio.exe
・MgxpaRuntime.exe
MgxpaStudio.exeではライセンスに含まれるPostgreSQLゲートウェイは利用できますので、開発・テストが可能ですが、MgxpaRuntime.exeではPostgreSQLゲートウェイは利用できませんので、別途PotgreSQLゲートウェイの購入が必要です。
③機能互換性と移行作業
- Q8. Actian Zenでできていたことが他のものに変更するとできなくなる機能はありますか?
- A8. Magic xpaのご利用範囲において、Actian Zenで可能だった機能が使用できなくなることはありません。
- Q9. 現在、MagicRIAにて基本的なSELECT/JOIN中心のSQLでプログラムを構築しております。PostgreSQLへ移行した場合、互換性や性能面で大きな懸念事項はありますでしょうか。
また、既存SQLの修正が発生する可能性がある場合、どのようなケースが想定されますでしょうか。 - A9. Oracle、MSSQLとPostgreSQLではSQL命令が違う場合があります。
MSSQLですと文字の連結はSELECT first_name + ' ' + last_name FROM users;ですがPostgreSQLだとSELECT first_name || ' ' || last_name FROM users;というように違いがございます。
Magicでの結合リンクなどの使用には問題ございませんが、SQL文を直接書いている場合は修正が発生する可能性がございます。
- Q10. Magic側でのPostgreSQLへの接続環境が整った場合、Magic側からテーブル作成、項目追加など、これまで通りの操作が可能ですか。
また、PostgreSQL側でユーザーを追加する必要性はありますか? - A10. はい。Magic のスキーマ操作は PostgreSQL でも従来通り使用できます。
Magicの開発・実行のみを行う場合、Postgres側にユーザを追加する必要はありません。
- Q11. データの新規登録時に、全てのビューを展開する必要があるとのことでしたが、Wリンク(存在しない場合追加)の場合も同様という認識でよろしいですか
- A11. 各項目にNull値を許していない場合、CリンクWリンクともにすべてのビューを展開する必要があります。
LリンクはNull値の挿入がないため不要となります。 - Q12. Oracle、MS-SQLなど他のSQL DBからPostgreSQLへのアプリケーション移行にあたりどの程度の工数がかかりますか?
- A12. アプリケーションの作りや規模によって移行工数は異なります。
- Q13. Oracle、MS-SQLなど他のSQL DBからPostgreSQLへのアプリケーション移行にあたり参考になる資料はありますか?
- A13. Oracle, MS-SQL, OpstgreSQLではそれぞれSQL構文に違いがありますが、Magicのゲートウェイがその差の多くを吸収しています。しかし埋め込みSQL(ストアドプロシージャ等も)を使用している場合はSQL文の修正が必要になります。
またDB仕様の差異への対応も必要になります。PostgreSQLエンタープライズコンソーシアムが詳細な資料を各種公開しておりますのでご参照ください。https://www.pgecons.org/works_index/
④性能差
- Q14. Magic xpaからPostgreSQLへの接続は、ODBC経由となっておりますが、バッチ処理などのレスポンスを懸念しております。PHPなど他の開発ツールと比較して、レスポンスは問題ないでしょうか。
- A14. 申し訳ございません。
他ツールとの比較、レスポンスに関してはお答えすることができません。ぜひPoCを行っていただければと思います。
- Q15. MS-SQLを使用しています。PostgreSQLとの性能差は、一般的にどれぐらいありますか。
- A15. どちらも高性能なRDBMSであり、一概に性能差を断定することはできません。
利用環境や設計、チューニング状況により結果は異なります。
- Q16. Oracleでは問題なく高速に動作しているSQLが、PostgreSQLでは性能低下するケースはありますでしょうか。
- A16. アプリケーションの作りによっては起こり得ます。
DB特性の違いを考慮したチューニングが重要です。
MS-SQL,Oracleとの性能差について参考情報(富士通様提供)
性能については、大きな違いはないと考えておりますが、一般的には以下のように言われております。
ただし、性能はアプリケーションの作りやストレージ環境、DBチューニング状況などに依存しますので、一概には優劣を明言することができません。
・対MS SQL性能
処理能力 (トランザクション/書込)としては、 PostgreSQLはMVCC(マルチバージョン同時実行制御)技術により、高トランザクション環境や頻繁なデータ更新において高いパフォーマンスを発揮します。
読み取り性能としては、SQL Serverは、特にWindows環境において大規模な読み取り処理に強い傾向があります。
同時実行性としては、 PostgreSQLは同時実行処理に優れており、デッドロックが少ないと言われています。
クエリ処理: PostgreSQLは複雑なクエリ、マテリアライズドビュー、高度なデータ型(JSONBなど)に対応し、複雑なデータ処理や分析業務が可能。
・対Oracle性能
アーキテクチャの違いとして、 Oracleはデータを直接更新する型 であるのに対し、PostgreSQLは追記型(MVCC) で動作する。これにより、PostgreSQLは同時接続に強いが、定期的なVACUUM(領域解放)が必要。
性能傾向としては、 Oracleは膨大なトランザクション処理における安定性とパフォーマンスが強み。
PostgreSQLは高速な読み取りが可能。
⑤セミナー資料 今後の要望
- Q17. 今回のセミナーの資料やアーカイブ動画を見ることはできますか?
- A17. ご参加者様へ別途メールにてご案内いたします。また、録画を使用した再放送も予定しております。
- Q18. ノウハウ紹介のようなセミナーを今後も開催してほしい。
- A18. いただいたご要望をもとに企画いたします。
- Q19. PostgreSQLとMagicについての説明を掘り下げてほしい。
- A19. 今後「実践編」「移行ノウハウ編」などの開催も検討します。
以上です。この他にもPostgreSQLについてご質問がありましたら、遠慮なくこのトピックに投稿してください。
サインインしてコメントを残してください。
コメント
0件のコメント