gpt4 book ai didi

postgresql - 如何从 Python 获取 PostgreSQL 数据库大小?

转载 作者:行者123 更新时间:2023-11-29 13:30:53 24 4
gpt4 key购买 nike

我正在使用 psycopg2 在 Python3 中获取 PostgreSQL 数据库大小。

dbname = 'my_pg_database'
q = 'select pg_total_relation_size(%s);'
conn.cursor.execute(q, (dbname, ))
row = conn.cursor.fetchone()
print(str(row[0]))

我也尝试过使用相同的代码,但切换了第二行:

q = 'select pg_total_relation_size((%s));'

并更改第二行和第三行:

dbname = 'my_pg_database'
q = 'select pg_total_relation_size({dbname});'.format(dbname=dbname)
conn.cursor.execute(q)
row = conn.cursor.fetchone()
print(str(row[0]))

我总是遇到同样的语法错误,我以前在其他查询中遇到过很多这个问题,但我设法使用格式或其他方式处理了这个问题,但在这种情况下没有。谁知道为什么?

编辑

我得到的错误是:

第一个代码:

psycopg2.ProgrammingError: relation "my_pg_database" does not exist LINE 1: select pg_total_relation_size('my_pg_database');

顺便说一句,这里有一种指向第二行第一个引号的箭头。

第三个代码:

psycopg2.ProgrammingError: column "my_pg_database" does not exist LINE 1: select pg_total_relation_size(my_pg_database);

这里有一种箭头指向第二行my_pg_database的m。

请注意,第一个错误是关于关系的,第二个错误是关于列的。

最佳答案

您使用了错误的函数,您需要 pg_database_size() 来获取数据库的大小。 pg_total_relation_size() 用于单个表及其索引。

检查 manual了解更多详情。

关于postgresql - 如何从 Python 获取 PostgreSQL 数据库大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23810380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com