Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python获取PostgreSQL数据库大小?_Postgresql_Python 3.x_Psycopg2 - Fatal编程技术网

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

如何从Python获取PostgreSQL数据库大小?,postgresql,python-3.x,psycopg2,Postgresql,Python 3.x,Psycopg2,我正在使用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((%

我正在使用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:关系“my_pg_数据库”不存在 第1行:选择pg_total_relationship_size(“我的pg_数据库”)

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

使用第三个代码:

psycopg2.ProgrammingError:列“my_pg_数据库”不存在 第1行:选择pg_总关系_大小(my_pg_数据库)

这里有一个箭头指向第二行my_pg_数据库的m


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

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


查看查看以了解更多详细信息。

print
是Python 3中的一个函数-
print(things,your,want,to print)
不是
打印要打印的内容(请注意括号)好的,事实上我没有使用print(改为使用记录器),但问题在于查询,确定。但我要改变这一点!你能提供你得到的错误吗?我用错误编辑了这篇文章。你使用了错误的函数,你需要pg_database_size()来获得你数据库的大小。pg_total_relation_size()用于单个表及其索引。