PostgreSQL: System Information Functions

在生产库维护过程中,经常需要查看数据库的一些信息,包括表,索引等, PostgreSQL 一方面提供反斜线加字母的组合显示数据库信息,例如” d 显示表和视图信息 “,同时 PostgreSQL 还提供强大的系统信息查询函数,下面是系统信息查询函数的用法举例。

1 查看 PostgreSQL 版本信息

1
2
3
4
5
skytf=> select version();  
version
-------------------------------------------------------------------------------------------------------------------
PostgreSQL 9.0.1 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48), 64-bit
(1 row)

2 查看当前会话对应的 PostgreSQL 服务进程

1
2
3
4
5
postgres=# select pg_backend_pid();  
pg_backend_pid
----------------
9610
(1 row)

3 查询当前事务ID

1
2
3
4
5
postgres=# select txid_current();  
txid_current
--------------
21195195
(1 row)

4 查询 PostgreSQL 服务启动时间

1
2
3
4
5
postgres=# select pg_postmaster_start_time();  
pg_postmaster_start_time
-------------------------------
2011-09-30 11:06:00.132932+08
(1 row)

5 查看当前连的接数据库

1
2
3
4
5
skytf=> select current_database();  
current_database
------------------
skytf
(1 row)

6 查看当前 schema

1
2
3
4
5
skytf=> select current_schema();  
current_schema
----------------
skytf
(1 row)

7 查看当前连接的用户

1
2
3
4
5
skytf=> select current_user;  
current_user
--------------
skytf
(1 row)

8 查看函数的定义

1
2
3
4
5
6
skytf=> select oid,proname from pg_proc where proname='create_table';  
oid | proname
----------+--------------
14290044 | create_table
(1 row)
skytf=> select pg_get_functiondef(14290044);

9 查看索引创建语句

1
2
3
4
5
6
7
8
9
10
11
skytf=> select oid ,relname from pg_class where relname='game_appid_key';  
oid | relname
----------+----------------
14311899 | game_appid_key
(1 row)

skytf=> select pg_get_indexdef(14311899);
pg_get_indexdef
----------------------------------------------------------------
CREATE UNIQUE INDEX game_appid_key ON game USING btree (appid)
(1 row)

10 查看视图创建语句

1
2
3
4
5
skytf=> select pg_get_viewdef('view_activity');  
pg_get_viewdef
-----------------------------------------------------------------------------------------------------------------------------------
SELECT activity.id, activity.identity_code, activity.skyid, activity.category, activity.body, activity.create_time FROM activity;
(1 row)

备注:以上只列举出常见的查询函数,还有很多就不演示了,详细信息可以查看手册。

11 参考

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/237807.html

(0)
上一篇 2022年1月29日
下一篇 2022年1月29日

相关推荐

发表回复

登录后才能评论