如何确定PostgreSQL连接是Postgres还是EnterpriseDB

时间:2017-06-23 21:34:39

标签: postgresql psycopg2 enterprisedb

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

有没有办法通过psycopg2 API或查询数据库?

我怀疑可能有办法使用SELECT version()执行此操作,但我不确定我可能会看到哪些可能的值来指示我所使用的平台。

1 个答案:

答案 0 :(得分:0)

假设PPAS是Postgresql的超集(?),您可以发出一个查询,该查询调用仅存在于PPAS中的函数或系统表。

  • 如果成功则是PPAS。
  • 如果失败那么它不是PPAS而应该是Postgresql。或者你不幸遇到其他一些错误。