PostgreSQL学习手册(函数和操作符<三>)(三)

2015-01-25 22:09:22 · 作者: · 浏览: 35
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)
?
? ? 4. 系统表信息函数:
名字 返回类型 描述
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)
? ??
? ? 2. 数据库对象尺寸函数:
名字 返回类型 描述
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