设为首页 加入收藏

TOP

PostgreSQL学习手册(函数和操作符<三>)(二)
2014-11-24 08:24:02 来源: 作者: 【 】 浏览:4
Tags:PostgreSQL 学习 手册 函数 操作 < >
RAY[1,2,3] <= ARRAY[1,2,3] t
>= 大于或等于 ARRAY[1,4,3] >= ARRAY[1,4,3] t
|| 数组与数组连接 ARRAY[1,2,3] || ARRAY[4,5,6] {1,2,3,4,5,6}
|| 数组与数组连接 ARRAY[1,2,3] || ARRAY[[4,5,6],[7,8,9]] {{1,2,3},{4,5,6},{7,8,9}}
|| 元素与数组连接 3 || ARRAY[4,5,6] {3,4,5,6}
|| 元素与数组连接 ARRAY[4,5,6] || 7 {4,5,6,7}
2. PostgreSQL中提供的用于数组的函数列表:
函数 返回类型 描述 例子 结果
array_cat(anyarray, anyarray) anyarray 连接两个数组 array_cat(ARRAY[1,2,3], ARRAY[4,5]) {1,2,3,4,5}
array_append(anyarray, anyelement) anyarray 向一个数组末尾附加一个元素 array_append(ARRAY[1,2], 3) {1,2,3}
array_prepend(anyelement, anyarray) anyarray 向一个数组开头附加一个元素 array_prepend(1, ARRAY[2,3]) {1,2,3}
array_dims(anyarray) text 返回一个数组维数的文本表示 array_dims(ARRAY[[1,2,3], [4,5,6]]) [1:2][1:3]
array_lower(anyarray, int) int 返回指定的数组维数的下界 array_lower(array_prepend(0, ARRAY[1,2,3]), 1) 0
array_upper(anyarray, int) int 返回指定数组维数的上界 array_upper(ARRAY[1,2,3,4], 1) 4
array_to_string(anyarray, text) text 使用提供的分隔符连接数组元素 array_to_string(ARRAY[1, 2, 3], '~^~') 1~^~2~^~3
string_to_array(text, text) text[] 使用指定的分隔符把字串拆分成数组元素 string_to_array('xx~^~yy~^~zz', '~^~') {xx,yy,zz}
十二、系统信息函数:
1. PostgreSQL中提供的和 数据库相关的函数列表:
名字 返回类型 描述
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 连接的本地端口
session_user name 会话用户名
pg_postmaster_start_time() timestamp postmaster启动的时间
user name current_user www.2cto.com
version() text PostgreSQL版本信息
2. 允许用户在程序里查询对象访问权限的函数:
名字 描述 可用权限
has_table_privilege(user,table,privilege) 用户是否有访问表的权限 SELECT/INSERT/UPDATE/DELETE/RULE/REFERENCES/TRIGGER
has_table_privilege(table,privilege) 当前用户是否有访问表的权限 SELECT/INSERT/UPDATE/DELETE/RULE/REFERENCES/TRIGGER
has_database_privilege(user,database,privilege) 用户是否有访问数据库的权限 CREATE/TEMPORARY
has_database_privilege(database,privilege) 当前用户是否有访问数据库的权限 CREATE/TEMPORARY
has_function_privilege(user,function,privilege) 用户是否有访问函数的权限 EXECUTE
has_function_privilege(function,privilege) 当前用户是否有访问函数的权限 EXECUTE
has_language_privilege(user,language,privilege) 用户是否有访问语言的权限 USAGE
has_language_privilege(language,privilege) 当前用户是否有访问语言的权限 USAGE
has_schema_privilege(user,schema,privilege) 用户是否有访问模式的权限 CREAT/USAGE
has_schema_privilege(schema,privilege) 当前用户是否有访问模式的权限 CREAT/USAGE
has_tablespace_privilege(user,tablespace,privilege) 用户是否有访问表空间的权限 CREATE
has_tablespace_privilege(tablespace,privilege) 当前用户是否有访问表空间的权限 CREATE
注:以上函数均返回boolean类型。要评估一个用户是否在权限上持有赋权选项,给权限键字附加 WITH GRANT OPTION;比如 'UPDATE WITH GRANT OPTION'。
3. 模式可视性查询函数:
那些判断一个对象是否在当前模式搜索路径中可见的函数。 如果一个表所在的模式在搜索路径中,并且没有同名的表出现在搜索路径的更早的地方,那么就说这个表视可见的。 它等效于表可以不带明确模式修饰进行引用。
名字 描述 应用类型
pg_table_is_visible(table_oid) 该表/视图是否在搜索路径中可见 regclass
pg_type_is_visible(type_oid) 该类/视图型是否在搜索路径中可见 regtype
pg_function_is_visible(function_oid) 该函数是否在搜索路径中可见 regprocedure
pg_operator_is_visible(operator_oid) 该操作符是否在搜索路径中可见 regoperator
pg_o
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Mongodb学习笔记--Mongodb安装 下一篇Mongodb学习笔记――Collections

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis压力测试实战 - (2025-12-27 09:20:24)
·高并发一上来,微服 (2025-12-27 09:20:21)
·Redis 高可用架构深 (2025-12-27 09:20:18)
·Linux 系统监控 的完 (2025-12-27 08:52:29)
·一口气总结,25 个 L (2025-12-27 08:52:27)