pgsql基本命令

发布时间 2023-06-25 10:38:14作者: 坚强的小蚂蚁

参考:
https://blog.csdn.net/adminwbbmm/article/details/126450388
https://blog.csdn.net/u012551524/article/details/127801844
https://www.runoob.com/postgresql/postgresql-drop-table.html
https://blog.csdn.net/m0_56981185/article/details/120304011

1.登录

psql -h 10.253.100.9 -p 5432 -U postgres -d postgres
密码:postgres
退出命令行:\quit

2.查询所有数据库

select datname from pg_database;
或者
\l

3.查询版本

psql --version
或者
select version();

4.切换数据库

\c test

5.查看当前库中的所有的表

\d
或者
select * from pg_tables;

6.查看数据库大小

SELECT pg_size_pretty(pg_database_size('postgres'));

7.查看表大小

SELECT pg_size_pretty(pg_relation_size('table_test'));  

8.查看索引大小

SELECT pg_size_pretty(pg_relation_size('table_test_pkey'));

9.查看表空间大小

SELECT pg_size_pretty(pg_tablespace_size('pg_default')); 

10.查看表大小(包含索引)

 SELECT pg_size_pretty(pg_total_relation_size(cast('text_table' as text)));

11.查看表(包含索引)大小 Top 10

select 
tablename,
pg_size_pretty(size) 
from 
(select 
tablename,
pg_total_relation_size(cast(tablename as text)) as size 
from pg_tables 
where schemaname = 'public' 
) as tmp 
order by size desc limit 30;

输出

 odpathflowtable_hour_202012   | 66 GB
 odpathflowtable_hour_202011   | 41 GB
 odpathflowtable_hour_202010   | 39 GB
 odpathflowtable_hour_202005   | 30 GB
 odpathflowtable_hour_202007   | 30 GB
 odpathflowtable_hour_202008   | 30 GB
 odpathflowtable_hour_202009   | 29 GB
 odpathflowtable_hour_202001   | 28 GB
 odpathflowtable_hour_202004   | 28 GB
 odpathflowtable_hour_202006   | 27 GB
 odpathflowtable_hour_202002   | 27 GB
 odpathflowtable_hour_202003   | 26 GB
  1. 导出表数据

pg_dump -h 10.253.100.9 -p 5432 -U postgres -d postgres -t public.odpathflowtable_hour_202001 > odpathflowtable_hour_202001.dmp
或者
pg_dump -U postgres -d postgres -t customers -a -f customers.sql
其中,-t 参数指定要导出的表名,-a 参数指定只导出数据而不导出表结构,-f 参数指定导出数据的文件名。
-s  这个选项可以只导出表结构,而且不会导出表中数据;

13.删除表

DROP TABLE public.odpathflowtable_hour_202001;

14.查看所有数据库大小

select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size from pg_database;

15.备份

备份位置是	
10.253.100.30
/home/pg-2_backup

拷贝数据
scp odpathflowtable_hour_202001.dmp root@10.253.100.30:/home/pg-2_backup/
kGbTxQ6QEu@a