/ / PostgreSQL接続がPostgresとEnterpriseDBのどちらであるかを判断する方法

PostgreSQL接続がPostgresまたはEnterpriseDBにあるかどうかを判断する方法 - postgresql、psycopg2、enterprisedb

私の現在のプログラミングプロジェクトは私にアクセスしていますpsycopg2ライブラリを使用したPython 3のPostgreSQLデータベース。すべてうまくいっていますが、オープンソースのPostgreSQLとEnterpriseDBバージョン(Postgres Plus Advanced ServerまたはPPASとも呼ばれる)の間には微妙な違いがあることに気付きました。したがって、データベース接続がPPASインスタンスに対するものか、通常のPostgreSQLインスタンスに対するものかを判断できる必要があります。

psycopg2 APIまたはデータベースへの問い合わせによってこれを行う方法はありますか?

私はこれを使用してこれを行う方法があるかもしれないと思います SELECT version() しかし、どのプラットフォームを使用しているのかを示すために、どのような値が表示される可能性があるのか​​わからない。

回答:

回答№1は0

PPASは スーパーセット Postgresqlの(?)あなたはPPASにのみ存在する関数またはシステムテーブルを呼び出す問い合わせを出すことができます。

  • それが成功すればそれはPPASです。
  • 失敗した場合はPPASではなく、Postgresqlでなければなりません。または、他の種類のエラーになるには不運です。