PG语句

抓取当前执行的sql
SELECT current_timestamp - query_start AS runtime, datname, usename, query FROM pg_stat_activity where state != 'idle' ORDER BY 1 desc;
 

PG数据库查看当前连接数:
select count(1) from pg_stat_activity;

PG数据库查看最大连接数:
show max_connections;

最大连接数也可以在pg配置文件中配置:
在postgresql.conf中设置:
max_connections = 500

 
PG库命令执行:
切换到PG用户
su - postgres
切换数据库用户
\c csbsys
输入命令语句
alter table m_wb_swjl add primary key (mid) ;
 
查看数据库大小
 SELECT oid from pg_database where datname='csbsys';  --查看oid数据
查找数据库的目录
/data/postgres/9.4/data/base
查看oid值如16391文件夹的大小
du -sh即可算出文件夹大小
[root@hs2 ~]# cd /data/postgres/9.4/data/base
[root@hs2 base]# cd 16391/
[root@hs2 16391]# du -sh
3.0T .
[root@hs2 16391]# 

 

 

 
 
postgresql查看数据库、表、表空间(位置大小)、索引的方法
 
查看PG库默认表空间大小
select pg_size_pretty(pg_tablespace_size('pg_default'));
 
快速查询表记录数,
select reltuples from pg_class where relname = 'm_wb_swjl';
系统表 pg_class,这个系统表里头,存储着每个表的统计信息,其中 reltuples 就是对应的表的统计行,统计行的数据是pg有个独立进程,定期扫描不同的表,收集这些表的统计信息,保存在系统表里头
select 
    reltuples::int as total 
from 
    pg_class 
where 
    relname = 'm_wb_swjl' 
    and relnamespace = (select oid from pg_namespace where nspname = 'public');

 

 

 
 

posted on 2021-12-03 15:25  seamy  阅读(155)  评论(0编辑  收藏  举报