pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
相对 PostgreSQL 8.3 的差异:8.4 共有 324 个函数、416 条签名。
「签名变化」指函数还在,但它的签名有增有删;只改说明文字不计入。「换了分组」指手册把这个函数挪到了另一页。
div数学函数和操作符
y/x 的整数商(向零截断)
div ( y numeric, x numeric ) → numeric
quote_nullable字符串函数和操作符
为给定字符串添加适当的引号并返回,使其可用作 SQL 语句字符串中的字符串字面量;如果参数为 null,则返回 NULL。内嵌的单引号和反斜杠会被适当地双写。另见例 41.1。
quote_nullable ( string text ) → text
unnest数组函数和操作符
将 tsvector 展开为一组行,每行对应一个词位。
unnest ( anyarray ) → setof anyelement
array_fill数组函数和操作符
返回用给定值的副本填充的数组,各维的长度由第二个参数指定。可选的第三个参数提供各维的下界值(默认均为 1)。
array_fill ( anyelement, int[], [, int[]] ) → anyarray
array_length数组函数和操作符
返回请求的数组维度的长度。(对于空或缺失的数组维度,返回 NULL 而不是 0。)
array_length ( anyarray, int ) → int
array_ndims数组函数和操作符
返回数组的维度数。
array_ndims ( anyarray ) → int
array_agg聚合函数
将所有输入值,包括空值,收集到一个数组中。
array_agg ( expression ) → array of the argument type
cume_dist窗口函数
计算累积分布,也就是(位于假想行之前或与假想行同等的行数)/(总行数)。取值范围为 1/N 到 1。
cume_dist ( ) → double precision
dense_rank窗口函数
计算假想行的排名,没有空缺;此函数实际上对同等行组进行计数。
dense_rank ( ) → bigint
percent_rank窗口函数
计算假想行的相对排名,即(rank - 1)/(总行数 - 1)。取值范围为 0 到 1(含)。
percent_rank ( ) → double precision
rank窗口函数
计算假想行的排名,允许空缺;即该行所属同等行组中第一行的行号。
rank ( ) → bigint
first_value窗口函数
返回在窗口帧的第一行求得的 value。
first_value ( value any ) → same type as value
lag窗口函数
返回在分区内当前行之前 offset 行处计算的 value;如果没有这样的行,则返回 default(其类型必须与 value 兼容)。offset 和 default 都针对当前行求值。如果省略,offset 默认为 1,default 默认为 NULL。
lag ( value any [, offset integer [, default any ]] ) → same type as value
last_value窗口函数
返回在窗口帧的最后一行求得的 value。
last_value ( value any ) → same type as value
lead窗口函数
返回在分区内当前行之后 offset 行处计算的 value;如果没有这样的行,则返回 default(其类型必须与 value 兼容)。offset 和 default 都针对当前行求值。如果省略,offset 默认为 1,default 默认为 NULL。
lead ( value any [, offset integer [, default any ]] ) → same type as value
nth_value窗口函数
返回在窗口帧的第 n 行求得的 value(从 1 开始计数);如果没有这样的行,则返回 NULL。
nth_value ( value any, nth integer ) → same type as value
ntile窗口函数
返回从 1 到参数值的整数,将分区尽可能均等地划分。
ntile ( num_buckets integer ) → integer
row_number窗口函数
返回当前行在其分区内的编号,从 1 开始计数。
row_number ( ) → bigint
generate_subscripts集合返回函数
生成一个包含给定数组第 dim 维的有效下标的序列。
generate_subscripts ( array anyarray, dim int ) → setof int
current_catalog系统信息函数和操作符
返回当前数据库的名称。(SQL 标准将数据库称为“目录(catalogs)”,因此 current_catalog 是标准中的写法。)
current_catalog → name
current_query系统信息函数和操作符
返回客户端提交的当前正在执行的查询文本(可能包含多条语句)。
current_query ( ) → text
has_any_column_privilege系统信息函数和操作符
用户是否对表的至少一列具有权限?如果拥有整个表的权限,或至少一列获得了该权限的列级授权,则返回真。允许的权限类型为 SELECT、INSERT、UPDATE 和 REFERENCES。
has_any_column_privilege ( user, table, privilege ) → boolean
has_column_privilege系统信息函数和操作符
用户对指定的表列有权限么?如果对整个表持有权限,或者对列授予了列级别的权限,则会成功。可以通过名称或属性编号(pg_attribute.attnum)指定列。允许的权限类型为 SELECT、INSERT、UPDATE 和 REFERENCES。
has_column_privilege ( user, table, column, privilege ) → boolean
has_foreign_data_wrapper_privilege系统信息函数和操作符
用户是否具有外部数据包装器权限?唯一允许的权限类型为 USAGE。
has_foreign_data_wrapper_privilege ( user, fdw, privilege ) → boolean
has_server_privilege系统信息函数和操作符
用户是否对外部服务器有权限?唯一允许的权限类型是 USAGE。
has_server_privilege ( user, server, privilege ) → boolean
pg_backend_pid系统信息函数和操作符
返回附加到当前会话的服务器进程的进程 ID。
pg_backend_pid ( ) → int
pg_conf_load_time系统信息函数和操作符
返回服务器配置文件最近一次加载的时间。如果当时当前会话已经存在,则返回该会话自身重新读取配置文件的时间(因此不同会话中的返回时间会略有不同)。否则,返回 postmaster 进程重新读取配置文件的时间。
pg_conf_load_time ( ) → timestamp with time zone
pg_get_function_arguments系统信息函数和操作符
重建函数或过程的参数列表,采用其在 CREATE FUNCTION 中应有的形式(包括默认值)。
pg_get_function_arguments ( func_oid ) → text
pg_get_function_identity_arguments系统信息函数和操作符
重建标识函数或过程所需的参数列表,采用其在 ALTER FUNCTION 等命令中应有的形式。这种形式省略默认值。
pg_get_function_identity_arguments ( func_oid ) → text
pg_get_function_result系统信息函数和操作符
重建函数的 RETURNS 子句,采用其在 CREATE FUNCTION 中应有的形式。对于过程,返回 NULL。
pg_get_function_result ( func_oid ) → text
pg_get_functiondef系统信息函数和操作符
重建函数或过程的创建命令。(这是反编译重建的结果,并非命令的原始文本。)结果是一条完整的 CREATE OR REPLACE FUNCTION 或 CREATE OR REPLACE PROCEDURE 语句。
pg_get_functiondef ( func_oid ) → text
pg_get_keywords系统信息函数和操作符
返回描述服务器所识别 SQL 关键字的一组记录。word 列包含关键字。catcode 列包含类别代码:U 表示非保留关键字,C 表示可用作列名的关键字,T 表示可用作类型名或函数名的关键字,R 表示完全保留的关键字。如果关键字可以在 SELECT 列表中用作“裸”列标签,barelabel 列为 true;如果只能在 AS 之后使用,则为 false。catdesc 列包含描述关键字类别的字符串,该字符串可能已被本地化。baredesc 列包含描述关键字列标签状态的字符串,该字符串可能已被本地化。
pg_get_keywords ( ) → setof record
pg_typeof系统信息函数和操作符
返回所传入值的数据类型的 OID。这有助于排查问题或动态构造 SQL 查询。函数声明的返回类型是 regtype,它是一种 OID 别名类型(参见第 8.19 节);这意味着它在比较时与 OID 相同,但显示为类型名。
pg_typeof ( any ) → regtype
pg_terminate_backend系统管理函数
终止具有指定进程 ID 的后端进程的会话。如果调用角色是正在终止的后端的角色的成员,或者调用角色具有 pg_signal_backend 的权限,则也允许执行此操作,但只有超级用户才能终止超级用户后端。例外情况是,具有 pg_signal_autovacuum_worker 角色权限的角色可以终止 autovacuum 工作进程,而这些进程原本被视为超级用户后端。
pg_terminate_backend ( pid int ) → boolean
suppress_redundant_updates_trigger触发器函数
抑制不改变数据的更新操作。详见下文。
这一版没有移除函数。
| 函数 | 分组 | 增删 | 第一条新增签名 |
|---|---|---|---|
abs |
数学函数和操作符 | +1−1 | abs ( x ) → (same as input) |
decode |
字符串函数和操作符 | +1−1 | decode ( string text, format text ) → bytea |
encode |
字符串函数和操作符 | +1−2 | encode ( data bytea, format text ) → text |
isfinite |
日期/时间函数和操作符 | +1 | isfinite ( date ) → boolean |
xmlagg |
XML 函数 | +1 | xmlagg ( expression ) → xml |
xmlroot |
XML 函数 | +1−1 | xmlroot(xml, version text | no value [, standalone yes|no|no value]) |
avg |
聚合函数 | +1−1 | avg ( expression ) → numeric for any integer-type argument, double precision for a floating-point argument, otherwise the same as the argument data type |
generate_series |
集合返回函数 | +1 | generate_series ( start, stop, step interval ) → setof timestamp or setof timestamp with time zone (same as argument type) |
current_schema |
系统信息函数和操作符 | +1−1 | current_schema → name |
pg_get_userbyid |
系统信息函数和操作符 | +1−1 | pg_get_userbyid ( role_oid ) → name |
pg_relation_size |
系统管理函数 | +2−2 | pg_relation_size ( relation regclass, fork text ) → bigint |
pg_start_backup |
系统管理函数 | +1−1 | pg_start_backup ( label text [, fast boolean ] ) → text |
pg_total_relation_size |
系统管理函数 | +1−2 | pg_total_relation_size ( regclass ) → bigint |
这一版没有函数换分组。