2

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

有没有办法通过 psycopg2 API 或查询数据库来做到这一点?

我怀疑可能有一种方法可以做到这一点,SELECT version()但我不确定我可能会看到哪些可能的值来指示我在哪个平台上。

4

1 回答 1

0

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

  • 如果成功,它就是 PPAS。
  • 如果失败,那么它不是 PPAS,应该是 Postgresql。或者你很不幸犯了其他类型的错误。
于 2017-06-23T21:47:18.587 回答