postgresql常用查询语句
admin
2023-05-20 18:02:36
0

1.查找执行较慢的sql:
select* from pg_stat_statements;

2.根据操作系统的pid查找回话:
select d.query from pg_stat_activity d where pid=18707;

3.查询慢sql:

SELECT query,calls,total_time,(total_time / calls) AS average,ROWS,
100.0 * shared_blks_hit / NULLIF (shared_blks_hit + shared_blks_read,0) AS hit_percent
FROM pg_stat_statements ORDER BY average DESC LIMIT 10;

4.重置pg_stat_statements表:
select pg_stat_statements_reset();

5.授权:
schema只读:
grant select on all tables in schema app_schema to app_user_readonly;
针对schema读写权限:
grant select,update,delete,insert on all tables in schema app_schema to app_user;

create database chunqiu;
create user u_chunqiu password 'u_chunqiu';
alter database chunqiu owner to u_chunqiu;
create schema crmdb;
alter schema crmdb owner to u_chunqiu;

  1. 复制查看(在主库执行,备库执行无结果):
    select * from pg_stat_replication;

  2. 修改参数:
    postgres=# alter system set shared_buffers='1000MB';
    ALTER SYSTEM

8.参数查看:
show shared_buffers;
show hba_file;
show config_file;

9.干净的关闭数据库:
pg_ctl stop -m fast

10.查看主从复制延迟时间:
select extract(epoch from now() - pg_last_xact_replay_timestamp());

11.刷新配置文件:
a.SELECT pg_reload_conf();
b.pg_ctl reload

12.常用查询:
--查看所有的对象(表名字、索引名字、sequence等):
SELECT from pg_class where relname = 'activity_history';
select
from pg_attribute where attname = 'activity_history';
--查看所有信息:
select from pg_index;
--查看表和索引的对应信息以及索引的创建信息:
select
from pg_indexes where indexname = 'index_name';
--查看表的信息:
select from pg_tables where tablename = 'pg_class';
--查看视图信息:
select
from pg_views;
select from pg_type;
SELECT
FROM information_schema.schemata;
--获取表的字段和类型:
SELECT a.attname as name,pg_type.typname as typename,col_description(a.attrelid,a.attnum) as comment, a.attnotnull as notnull
FROM pg_class as c,pg_attribute as a inner join pg_type on pg_type.oid = a.atttypid
where c.relname = 'activity_history' and a.attrelid = c.oid and a.attnum>0

13.切换schema:
show search_path ;
set search_path to app ;
set search_path to app,public ;
SET search_path TO myschema,public;

14.统计信息相关:
PG提供了一下各个对象级别的统计信息视图:
pg_stat_database
pg_stat_all_tables
pg_stat_sys_tables
pg_stat_user_tables
pg_stat_all_indexes
pg_stat_sys_indexes
pg_stat_user_indexes

根据pg提供的pg_test_timing工具测试打开track_io_timing参数是否会产生瓶颈:
PG还提供了对数据库内函数的调用次数及其他信息进行统计的视图:pg_stat_user_functions
PG还提供了一下各个对象上发生I/O情况的统计视图:
pg_statio_all_tables
pg_statio_sys_tables
pg_statio_user_tables
pg_statio_all_indexes
pg_statio_sys_indexes
pg_statio_user_indexes
pg_statio_all_sequences
pg_statio_sys_sequences
pg_statio_user_sequences

15.常用维护:
显示当前session对应的后台进程:
select pg_backend_pid();
向进程发送INT信号把正在执行的sql取消掉:
pg_ctl kill INT xxx
一般都是使用取消:
select pg_cancel_backend(xxx);
sql sleep多久,单位秒:
select pg_sleep(xxx);
查看数据库启动时间:
select pg_postmaster_start_time();
查看配置文件最后load时间:
select pg_conf_load_time();
显示数据库当前时区:
show timezone;
显示当前session所在的客户端ip地址和端口:
select inet_client_addr(),inet_client_port();
显示当前数据库服务器的ip地址和端口:
select inet_server_addr(),inet_server_port();
查看当前正在写的wal文件:
9.x版本:
select pg_xlogfile_name(pg_current_xlog_location());
10.x版本:
select pg_walfile_name(pg_current_wal_insert_lsn());

后续不断更新。。。。。。。。。。

相关内容

热门资讯

美军称继续海上封锁伊朗,已改变... 当地时间8月3日,美国中央司令部表示,美军继续严格执行对伊朗的海上封锁。截至当天,美军已改变44艘商...
“控制”格陵兰岛,特朗普罕见列... 据美国《新闻周刊》和英国《独立报》8月2日报道,美国总统特朗普日前在接受采访时声称,格陵兰岛将在他本...
脑机接口,新突破,深度布局的1... (来源:逍遥财情) 8月1日,两项关于脑机接口行业的新国家标准开始实施,这两项标准相当于为整个行业制...
特朗普:与伊朗的谈判已开始,计... 当地时间8月3日,美国总统特朗普在社交平台“真实社交”(Truth Social)发文称,与伊朗的谈...
唐山电缆测绘现场案例 唐山电缆测绘现场案例 探测背景: 本次服务对象为唐山某测绘公司,因后期甲方需开展开挖作业,需提前明确...
聚焦能源与前沿科技!山西启动重... 为持续完善全省科技创新平台体系,夯实基础研究根基、打通科技成果产业化链条,加快培育新质生产力,赋能全...
四川:到2026年底推动阿里云... 《四川省推进算力设施优化布局提质建设和算电融合发展实施方案(2026—2028年)》近日印发。其中提...
瑙鲁正式更改国名 △瑙鲁(资料图)瑙鲁共和国政府日前在社交媒体上发布公告说,该国国名已由“Nauru”正式更改为“Na...
中国科学家首获威廉·诺德伯格奖... 当地时间8月3日,在意大利佛罗伦萨举办的第46届国际空间研究委员会(COSPAR)科学大会上,中国气...
和县科技馆开展“科普邂逅盛夏 ... 为丰富青少年暑期精神文化生活,普及推广自然科学知识,7 月 29 日,和县科技馆组织开展夏日主题科普...