抓取当前执行的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');