GP常用系统查询

一、SQL执行状态

1、每个用户连接数(包括空闲连接)

select usename,count(*) from pg_stat_activity group by usename;

2、每个用户连接数(不包括空闲连接)

select usename,count(*) from pg_stat_activity where current_query !='<IDLE>' group by usename;

3、当前查询

select usename, client_addr,current_timestamp-query_start as run_time,current_query from pg_stat_activity where current_query !='<IDLE>';

 

二、表结构相关

1、查看表结构:

\d bi.table_name
\d+ bi.table_name

2、查询GP下一个表大小:

select pg_size_pretty(pg_relation_size('bi.dprpt_table_name'));

3、一个表相关空间的总大小:

select pg_size_pretty(pg_total_relation_size('bi.dprpt_table_name'));

4、查看表名:

SELECT * FROM pg_tables where tablename like 'agg_%';


三、权限相关

1、查看/修改账号的连接数限制:

SELECT rolname, rolconnlimit FROM pg_roles WHERE rolconnlimit != -1;
ALTER ROLE role_name WITH CONNECTION LIMIT 15;
ALTER ROLE role_name WITH PASSWORD '123456';
ALTER ROLE role_name WITH LOGIN;

2、赋权

GRANT SELECT ON TABLE bi.table_name TO user_name;

grant语法参见:http://www.php100.com/manual/PostgreSQL8/sql-grant.html


四、杀查询

SELECT pg_cancel_backend(PID)

只能kill select操作;

session还在,未提交事务回滚

SELECT pg_terminate_backend(PID)

这种可以kill掉各种操作(select、update、delete、drop等)操作

中断session,未提交事务回滚

五、其他

1、数据库启动时间

select pg_postmaster_start_time();

2、列出所有模式名:

\dnS

3、退出PSQL:

\q     // 谁能告诉我不带注释为啥显示不出来?

4、查看greenplum版本:

psql --version

参考资料:

查看Postgresql的连接状况:http://my.oschina.net/lamciuloeng/blog/138097

GreenPlum获取table、schema及其database大小:http://blog.csdn.net/sptoor/article/details/7572313

PostgreSQL 8.1中文文档:系统管理函数:http://www.php100.com/manual/PostgreSQL8/functions-admin.html

GP建表的一些事:http://www.itpub.net/thread-1411396-1-1.html

GP角色管理:http://www.jb51.net/article/40300.htm

你可能感兴趣的:(GP常用系统查询)