postgre常用系统函数

来源:互联网 发布:java的静态代理 编辑:程序博客网 时间:2024/05/18 01:17

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

检查权限的函数

名字返回类型描述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,lengthbigint)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释放当前会话持有的所有咨询锁


0 0