你要的PostgreSQL命令

-------------------------持续更新--------------------------

进入PostgreSQL

#两条命令
su - postgres
psql 
#此时已经进入pg了

查看数据库大小

select pg_size_pretty(pg_database_size('dbname'));

查看数据表大小

select pg_size_pretty(pg_table_size('tablename'));

查看索引大小

select pg_size_pretty(pg_relation_size('tablename_pkey'));

查看表的索引

select * from pg_indexes where tablename='tablename'; 

查看数据库表的磁盘文件路径

select pg_relation_filepath('tablename');

设置主键自增序列最大值(解决insert时主键冲突)

select setval('tablename_id_seq',(select max(id) from tablename));

查看当前正在执行的sql任务

select * from pg_stat_activity;
select pid,application_name,client_addr,query_start,waiting,state,query from pg_stat_activity;

查询pg当前连接数

select count(1) from pg_stat_activity;

查询pg最大连接数

show max_connections;

执行sql文件

su -postgres #进入命令模式
psql -d 数据库名 -f /xx/xx.sql; # 指定数据库执行目录下sql文件

回收表空间

vacuum full tablename;
或
VACUUM tablename;

两者区别:
1.vacuum full会锁表。
2.vacuum只是将deadtuple的行的空间转换为能够使用的状态,额外空间一般不会返回给os(除非文件末尾有大量的连续空闲空间)。vacuum full会将这些空间碎片后面的数据上移,将数据写入一个新的磁盘文件中。
3.vacuum full执行效率低,执行过程会被锁表,不能操作表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值