pclass_is_visible(opclass_oid)
该操作符表是否在搜索路径中可见
regclass
pg_conversion_is_visible(conversion_oid)
转换是否在搜索路径中可见
regoperator
注:以上函数均返回boolean类型,所有这些函数都需要对象 OID 标识作为检查的对象。
postgres=# SELECT pg_table_is_visible('testtable'::regclass);
pg_table_is_visible
---------------------
t
(1 row)
名字
返回类型
描述
format_type(type_oid,typemod)
text
获取一个数据类型的SQL名称
pg_get_viewdef(view_oid)
text
为视图获取CREATE VIEW命令
pg_get_viewdef(view_oid,pretty_bool)
text
为视图获取CREATE VIEW命令
pg_get_ruledef(rule_oid)
text
为规则获取CREATE RULE命令
pg_get_ruledef(rule_oid,pretty_bool)
text
为规则获取CREATE RULE命令
pg_get_indexdef(index_oid)
text
为索引获取CREATE INDEX命令
pg_get_indexdef(index_oid,column_no,pretty_bool)
text
为索引获取CREATE INDEX命令, 如果column_no不为零,则是只获取一个索引字段的定义 www.2cto.com
pg_get_triggerdef(trigger_oid)
text
为触发器获取CREATE [CONSTRAINT] TRIGGER
pg_get_constraintdef(constraint_oid)
text
获取一个约束的定义
pg_get_constraintdef(constraint_oid,pretty_bool)
text
获取一个约束的定义
pg_get_expr(expr_text,relation_oid)
text
反编译一个表达式的内部形式,假设其中的任何Vars都引用第二个参数指出的关系
pg_get_expr(expr_text,relation_oid, pretty_bool)
text
反编译一个表达式的内部形式,假设其中的任何Vars都引用第二个参数指出的关系
pg_get_userbyid(roleid)
name
获取给出的ID的角色名
pg_get_serial_sequence(table_name,column_name)
text
获取一个serial或者bigserial字段使用的序列名字
pg_tablespace_databases(tablespace_oid)
setof oid
获取在指定表空间(OID表示)中拥有对象的一套
数据库的OID的集合
这些函数大多数都有两个变种,其中一个可以选择对结果的"漂亮的打印"。 漂亮打印的格式更容易读,但是缺省的格式更有可能被将来的PostgreSQL版本用同样的方法解释;如果是用于转储,那么尽可能避免使用漂亮打印。 给漂亮打印参数传递false生成的结果和那个没有这个参数的变种生成的结果完全一样。
十三、系统管理函数:
1. 查询以及修改运行时配置参数的函数:
名字
返回类型
描述
current_setting(setting_name)
text
当前设置的值
set_config(setting_name,new_value,is_local)
text
设置参数并返回新值
current_setting用于以查询形式获取setting_name设置的当前数值。它和SQL命令SHOW是等效的。 比如:
MyTest=# SELECT current_setting('datestyle');
current_setting www.2cto.com
-----------------
ISO, YMD
(1 row)
set_config将参数setting_name设置为new_value。如果is_local设置为true,那么新数值将只应用于当前事务。如果你希望新的数值应用于当前会话,那么应该使用false。它等效于SQL命令SET。比如:
MyTest=# SELECT set_config('log_statement_stats','off', false);
set_config
------------
off
(1 row)
名字
返回类型
描述
pg_tablespace_size(oid)
bigint
指定OID代表的表空间使用的磁盘空间
pg_tablespace_size(name)
bigint
指定名字的表空间使用的磁盘空间
pg_database_size(oid)
bigint
指定OID代表的数据库使用的磁盘空间
pg_database_size(name)
bigint
指定名称的数据库使用的磁盘空间
pg_relation_size(oid)
bigint
指定OID代表的表或者索引所使用的磁盘空间
pg_relation_size(text)
bigint
指定名称的表或者索引使用的磁盘空间。这个名字可以用模式名修饰
pg_total_relation_size(oid)
bigint
指定OID代表的表使用的磁盘空间,包括索引和压缩数据
pg_total_relation_size(text)
bigint
指定名字的表所使用的全部磁盘空间,包括索引和压缩数据。表名字可以用模式名修饰。
pg_size_pretty(bigint)
text
把字节计算的尺寸转换成一个人类易读的尺寸单位
3. 数据库对象位置函数:
名字
返回类型
描述
pg_relation_filenode(relation regclass)
oid
获取指定对象的文件节点编号(通常为对象的oid值)。
pg_relation_filepath(relation regclass)
text
获取指定对象的完整路径名。
mydatabase=# select pg_relation_filenode('testtable');
pg_relation_filenode www.2cto.com
----------------------
17877
(1 row)
mydatabase=# sele