如何确定PostgreSQL连接是否是对Postgres或EntrpristingB的



我当前的编程项目让我使用psycopg2库访问python3中的PostgreSQL数据库。尽管一切进展顺利,但我发现开源PostgreSQL和EnterprisingB版本(也称为Postgres Plus Advanced Server或PPA(之间存在细微的差异。因此,我需要能够确定数据库连接是与PPAS实例或常规的PostgreSQL实例。

是否有一种方法可以通过Psycopg2 API或查询数据库来执行此操作?

我怀疑使用SELECT version()可能会有一种方法,但是我不确定我可能会看到哪些可能的值表示我在哪个平台。

假设PPA是PostgreSQL的PPA是 superset (?(,您可以发出查询,调用仅在PPA中存在的函数或系统表。

  • 如果成功的话,它是PPA。
  • 如果失败,则不是PPA,应该是postgresql。或者您不幸的是其他错误。

最新更新