PostgreSQL_数据库系统相关表查询
1.查询数据库的大小;
SELECT pg_database_size('PROD_TRACING')
让结果易读的话,使用pg_size_pretty()函数,这样会以 bytes, kB, MB, GB or TB显示结果
SELECT pg_size_pretty(pg_database_size('PROD_TRACING'))
2.数据库里表格按照大小排序
select relname,relpages from pg_class order by relpages DESC;
3.查询表格中的记录数
SELECT COUNT(*) FROM table
如:SELECT COUNT(*) FROM t_xml_report
4.列出某个数据库下的某个schema下面所有的表
如:列出schema traceevents 中所有的表格名
select * from pg_tables where schemaname='traceevents'
5.查看当前表的主外键关系
5.1选择表,查出oid号
SELECT oid, relname FROM pg_class WHERE relname = 't_stocpf';
5.2根据oid号,查看引用当前表ID作参考表的主外键约束信息
SELECT * FROM pg_CONSTRAINT WHERE confrelid = '44389';
5.3根据oid号,查看引用当前表ID作参考表的主外键表
SELECT oid, relname FROM pg_class WHERE oid in
(
SELECT conrelid FROM pg_CONSTRAINT WHERE confrelid = '44389'
);
6.模式搜索路径
在PostgreSQL中,表属于某个模式。当我们创建表时,完整的语法应该是:
CREATE TABLE schema_name.table_name
...
访问表的时候也是一样。
查看当前的搜索路径:
SHOW search_path;
可以通过SET命令修改默认的搜索路径:
SET search_path TO app,public;
此时,如果我们再创建新表而不指定模式名称时,默认会在模式app中创建。