【问题标题】:How get PostgreSQL version using psycopg2?如何使用 psycopg2 获取 PostgreSQL 版本?
【发布时间】:2018-07-24 01:16:41
【问题描述】:

我有以下陈述:

from alembic import op
conn = op.get_bind()

现在我想获取 postgresql 版本。

【问题讨论】:

    标签: postgresql psycopg2


    【解决方案1】:

    根据文档,它是server_version 连接属性:

    conn = psycopg2.connect(settings.DB_DSN)
    >>> conn.server_version
    90504
    

    数字是通过将主要、次要和修订号转换为两位十进制数字并将它们附加在一起而形成的。例如,版本 8.1.5 将返回为 80105。

    【讨论】:

      【解决方案2】:

      如果您可以运行原始 SQL 查询,只需运行以下命令:

      SELECT version();
      

      【讨论】:

      • 还有show server_version;select current_setting('server_version'); 只获取版本号而没有详细信息。
      【解决方案3】:

      如果你使用的是ubuntu那么你可以执行命令

      psql -V
      

      检查postgresql版本在哪里

      V must be in capital.
      

      要检查 psycopg2 的版本,您可以运行以下命令

      pip freeze | grep psycopg2
      

      你也可以执行

      pip freeze 
      

      显示所有已安装的软件包及其各自的版本

      【讨论】:

        【解决方案4】:
        import os
        import psycopg2
        
        conn_str = {
                'user': os.environ['USERNAME'].lower(),
                'host': 'POSTGES_SERVER_NAME',
                'port': 5432,
                'database': 'database_name'
            }
        
        conn = psycopg2.connect(**conn_str)
        
        cursor = conn.cursor()
        cursor.execute('SELECT VERSION()')
        row = cursor.fetchone()
        print(row)
        cursor.close()
        
        # output:
        # ('PostgreSQL 10.1, compiled by Visual C++ build 1800, 64-bit',)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-10-01
          • 2017-11-01
          • 2012-05-22
          • 1970-01-01
          • 2018-06-26
          • 2017-07-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多