在工作中PostgreSQL常用的SQL命令
1. 查看所有数据库
\l
或
SELECT datname FROM pg_database;
2. 查看当前数据库中的所有表
\dt
或
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
3. 查看所有表空间
\db
或
SELECT spcname FROM pg_tablespace;
4. 查看所有用户(角色)
\du
或
SELECT usename FROM pg_user;
5. 查看当前数据库的连接信息
SELECT * FROM pg_stat_activity;
6. 查看表的详细信息(包括列、类型等)
\d table_name
或
SELECT column_name, data_type, is_nullable FROM information_schema.columns WHERE table_name = 'table_name';
7. 查看表的索引
\di
或
SELECT indexname, indexdef FROM pg_indexes WHERE tablename = 'table_name';
8. 查看表的约束
\d+ table_name
或
SELECT constraint_name, constraint_type FROM information_schema.table_constraints WHERE table_name = 'table_name';
9. 查看当前数据库的大小
SELECT pg_size_pretty(pg_database_size(current_database()));
10. 查看表的大小
SELECT pg_size_pretty(pg_total_relation_size('table_name'));
11. 查看当前用户
SELECT current_user;
12. 查看当前数据库
SELECT current_database();
13. 查看所有模式(schema)
\dn
或
SELECT schema_name FROM information_schema.schemata;
14. 查看所有函数
\df
或
SELECT routine_name FROM information_schema.routines WHERE routine_type = 'FUNCTION';
15. 查看所有视图
\dv
或
SELECT table_name FROM information_schema.views;
16. 查看所有触发器
\dy
或
SELECT trigger_name FROM information_schema.triggers;
17. 查看所有序列
\ds
或
SELECT sequence_name FROM information_schema.sequences;
18. 查看所有扩展(extensions)
\dx
或
SELECT extname FROM pg_extension;
19. 查看当前数据库的配置参数
SHOW ALL;
20. 查看某个配置参数的值
SHOW parameter_name;
21. 查看当前数据库的锁信息
SELECT * FROM pg_locks;
22. 查看当前数据库的统计信息
SELECT * FROM pg_stat_all_tables;
23. 查看当前数据库的复制状态
SELECT * FROM pg_stat_replication;
24. 查看当前数据库的 WAL(Write-Ahead Logging)信息
SELECT * FROM pg_stat_wal;
25. 查看当前数据库的备份信息
SELECT * FROM pg_stat_backup;