名字 | 返回类型 | 描述 |
---|---|---|
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 | 获取一个 serial 或 bigserial 字段使用的序列名字 |
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 | 释放当前会话持有的所有咨询锁 |