名字 返回类型 描述
current_database() name 当前数据库的名字
current_schema() name 当前模式的名字
current_schemas(boolean) name[] 搜索路径中的模式名字
current_user name 当前执行环境下的用户名
inet_client_addr() inet 连接的远端地址
inet_client_port() int 连接的远端端口
inet_server_addr() inet 连接的本地地址
inet_server_port() int 连接的本地端口
pg_my_temp_schema() oid 会话的临时模式的 OID ,不存在则为 0
pg_is_other_temp_schema(oid) boolean 是否为另一个会话的临时模式?
pg_postmaster_start_time() timestamp with time zone 服务器启动时间
session_user name 会话用户名
user name 等价于 current_user
version() text PostgreSQL 版本信息

检查权限的函数

名字 返回类型 描述
has_database_privilege(user,database, privilege) boolean 指定用户是否有访问数据库的权限
has_database_privilege(database,privilege) boolean 当前用户是否有访问数据库的权限
has_function_privilege(user,function, privilege) boolean 指定用户是否有访问函数的权限
has_function_privilege(function,privilege) boolean 指定用户是否有访问函数的权限
has_language_privilege(user,language, privilege) boolean 指定用户是否有访问语言的权限
has_language_privilege(language,privilege) boolean 指定用户是否有访问语言的权限
has_schema_privilege(user,schema, privilege) boolean 指定用户是否有访问模式的权限
has_schema_privilege(schema,privilege) boolean 指定用户是否有访问模式的权限
has_table_privilege(user,table, privilege) boolean 指定用户是否有访问表的权限
has_table_privilege(table,privilege) boolean 指定用户是否有访问表的权限
has_tablespace_privilege(user,tablespace, privilege) boolean 指定用户是否有访问表空间的权限
has_tablespace_privilege(tablespace,privilege) boolean 指定用户是否有访问表空间的权限
pg_has_role(user,role, privilege) boolean 指定用户是否有访问角色的权限
pg_has_role(role,privilege) boolean 指定用户是否有访问角色的权限

系统表信息

名字 返回类型 描述
format_type(type_oid,typemod) text 获取一个数据类型的 SQL 名称
pg_get_constraintdef(constraint_oid) text 获取一个约束的定义
pg_get_constraintdef(constraint_oid,pretty_bool) text 获取一个约束的定义
pg_get_expr(expr_text,relation_oid) text 反编译一个表达式的内部形式,假设其中的任何 Var 都引用第二个参数指出的关系
pg_get_expr(expr_text,relation_oid, pretty_bool) text 反编译一个表达式的内部形式,假设其中的任何 Var 都引用第二个参数指出的关系
pg_get_indexdef(index_oid) text 为索引获取 CREATE INDEX 命令
pg_get_indexdef(index_oid,column_no, pretty_bool) text 为索引获取 CREATE INDEX 命令,如果 column_no 不为零,则只获取一个索引字段的定义。
pg_get_ruledef(rule_oid) text 为规则获取 CREATE RULE 命令
pg_get_ruledef(rule_oid,pretty_bool) text 为规则获取 CREATE RULE 命令
pg_get_serial_sequence(table_name,column_name) text 获取一个 serialbigserial 字段使用的序列名字
pg_get_triggerdef(trigger_oid) text 为触发器获取 CREATE [ CONSTRAINT ] TRIGGER 命令
pg_get_userbyid(roleid) name 获取给定 ID 的角色名
pg_get_viewdef(view_name) text 为视图获取底层的 SELECT 命令(已废弃)
pg_get_viewdef(view_name,pretty_bool) text 为视图获取底层的 SELECT 命令(已废弃)
pg_get_viewdef(view_oid) text 为视图获取底层的 SELECT 命令
pg_get_viewdef(view_oid,pretty_bool) text 为视图获取底层的 SELECT 命令
pg_tablespace_databases(tablespace_oid) setof oid 获取在指定的表空间有元素的数据库 OID 集合

配置设置函数

名字 返回类型 描述
current_setting(setting_name) text 当前的设置值
set_config(setting_name, new_value, is_local) text

服务器信号函数

名字 返回类型 描述
pg_cancel_backend(pidint) boolean 取消一个后端的当前查询
pg_reload_conf() boolean 导致所有服务器进程重新装载它们的配置文件
pg_rotate_logfile() boolean 滚动服务器的日志文件

名字 返回类型 描述
pg_start_backup(labeltext) text 开始执行在线备份
pg_stop_backup() text 完成执行在线备份
pg_switch_xlog() text 切换到一个新的事务日志文件
pg_current_xlog_location() text 获取当前事务日志的写入位置
pg_current_xlog_insert_location() text 获取当前事务日志的插入位置
pg_xlogfile_name_offset(locationtext) text, integer 将事务日志的位置字符串转换为文件名并返回在文件中的字节偏移量
pg_xlogfile_name(locationtext) text 将事务日志的位置字符串转换为文件名

数据库尺寸函数

名字 返回类型 描述
pg_column_size(any) int 存储一个指定的数值需要的字节数(可能压缩过)
pg_database_size(oid) bigint 指定 OID 代表的数据库使用的磁盘空间
pg_database_size(name) bigint 指定名称的数据库使用的磁盘空间
pg_relation_size(oid) bigint 指定 OID 代表的表或者索引所使用的磁盘空间
pg_relation_size(text) bigint 指定名称的表或者索引使用的磁盘空间。表名字可以用模式名修饰。
pg_size_pretty(bigint) text 把字节计算的尺寸转换成一个人类易读的尺寸。
pg_tablespace_size(oid) bigint 指定 OID 代表的表空间使用的磁盘空间
pg_tablespace_size(name) bigint 指定名字的表空间使用的磁盘空间
pg_total_relation_size(oid) bigint 指定 OID 代表的表使用的磁盘空间,包括索引和压缩数据。
pg_total_relation_size(text) bigint 指定名字的表所使用的全部磁盘空间,包括索引和压缩数据。表名字可以用模式名修饰。

文件通讯函数

名字 返回类型 描述
pg_ls_dir(dirnametext) setof text 列出目录中的文件
pg_read_file(filenametext, offset bigint,length bigint) text 返回一个文本文件的内容
pg_stat_file(filenametext) record 返回一个文件的信息

锁函数

名字 返回类型 描述
pg_advisory_lock(keybigint) void 获取排它咨询锁
pg_advisory_lock(key1int, key2 int) void 获取排它咨询锁
pg_advisory_lock_shared(keybigint) void 获取共享咨询锁
pg_advisory_lock_shared(key1int, key2 int) void 获取共享咨询锁
pg_try_advisory_lock(keybigint) boolean 尝试获取排它咨询锁
pg_try_advisory_lock(key1int, key2 int) boolean 尝试获取排它咨询锁
pg_try_advisory_lock_shared(keybigint) boolean 尝试获取共享咨询锁
pg_try_advisory_lock_shared(key1int, key2 int) boolean 尝试获取共享咨询锁
pg_advisory_unlock(keybigint) boolean 释放排它咨询锁
pg_advisory_unlock(key1int, key2 int) boolean 释放排它咨询锁
pg_advisory_unlock_shared(keybigint) boolean 释放共享咨询锁
pg_advisory_unlock_shared(key1int, key2 int) boolean 释放共享咨询锁
pg_advisory_unlock_all() void 释放当前会话持有的所有咨询锁