↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 函数百科 / 8.4 变更

PostgreSQL 8.4 函数变更

相对 PostgreSQL 8.3 的差异:8.4 共有 324 个函数、416 条签名。

换一个对比基准

汇总

  1. 35新增函数
  2. 0移除函数
  3. 13签名变化
  4. 0换了分组

「签名变化」指函数还在,但它的签名有增有删;只改说明文字不计入。「换了分组」指手册把这个函数挪到了另一页。

新增函数35

  • div数学函数和操作符

    y/x 的整数商(向零截断)

    div ( y numeric, x numeric ) → numeric

    1 条签名

  • quote_nullable字符串函数和操作符

    为给定字符串添加适当的引号并返回,使其可用作 SQL 语句字符串中的字符串字面量;如果参数为 null,则返回 NULL。内嵌的单引号和反斜杠会被适当地双写。另见例 41.1。

    quote_nullable ( string text ) → text

    2 条签名

  • unnest数组函数和操作符

    将 tsvector 展开为一组行,每行对应一个词位。

    unnest ( anyarray ) → setof anyelement

    1 条签名

  • array_fill数组函数和操作符

    返回用给定值的副本填充的数组,各维的长度由第二个参数指定。可选的第三个参数提供各维的下界值(默认均为 1)。

    array_fill ( anyelement, int[], [, int[]] ) → anyarray

    1 条签名

  • array_length数组函数和操作符

    返回请求的数组维度的长度。(对于空或缺失的数组维度,返回 NULL 而不是 0。)

    array_length ( anyarray, int ) → int

    1 条签名

  • array_ndims数组函数和操作符

    返回数组的维度数。

    array_ndims ( anyarray ) → int

    1 条签名

  • array_agg聚合函数

    将所有输入值,包括空值,收集到一个数组中。

    array_agg ( expression ) → array of the argument type

    1 条签名

  • cume_dist窗口函数

    计算累积分布,也就是(位于假想行之前或与假想行同等的行数)/(总行数)。取值范围为 1/N 到 1。

    cume_dist ( ) → double precision

    1 条签名

  • dense_rank窗口函数

    计算假想行的排名,没有空缺;此函数实际上对同等行组进行计数。

    dense_rank ( ) → bigint

    1 条签名

  • percent_rank窗口函数

    计算假想行的相对排名,即(rank - 1)/(总行数 - 1)。取值范围为 0 到 1(含)。

    percent_rank ( ) → double precision

    1 条签名

  • rank窗口函数

    计算假想行的排名,允许空缺;即该行所属同等行组中第一行的行号。

    rank ( ) → bigint

    1 条签名

  • first_value窗口函数

    返回在窗口帧的第一行求得的 value。

    first_value ( value any ) → same type as value

    1 条签名

  • lag窗口函数

    返回在分区内当前行之前 offset 行处计算的 value;如果没有这样的行,则返回 default(其类型必须与 value 兼容)。offset 和 default 都针对当前行求值。如果省略,offset 默认为 1,default 默认为 NULL。

    lag ( value any [, offset integer [, default any ]] ) → same type as value

    1 条签名

  • last_value窗口函数

    返回在窗口帧的最后一行求得的 value。

    last_value ( value any ) → same type as value

    1 条签名

  • lead窗口函数

    返回在分区内当前行之后 offset 行处计算的 value;如果没有这样的行,则返回 default(其类型必须与 value 兼容)。offset 和 default 都针对当前行求值。如果省略,offset 默认为 1,default 默认为 NULL。

    lead ( value any [, offset integer [, default any ]] ) → same type as value

    1 条签名

  • nth_value窗口函数

    返回在窗口帧的第 n 行求得的 value(从 1 开始计数);如果没有这样的行,则返回 NULL。

    nth_value ( value any, nth integer ) → same type as value

    1 条签名

  • ntile窗口函数

    返回从 1 到参数值的整数,将分区尽可能均等地划分。

    ntile ( num_buckets integer ) → integer

    1 条签名

  • row_number窗口函数

    返回当前行在其分区内的编号,从 1 开始计数。

    row_number ( ) → bigint

    1 条签名

  • generate_subscripts集合返回函数

    生成一个包含给定数组第 dim 维的有效下标的序列。

    generate_subscripts ( array anyarray, dim int ) → setof int

    2 条签名

  • current_catalog系统信息函数和操作符

    返回当前数据库的名称。(SQL 标准将数据库称为“目录(catalogs)”,因此 current_catalog 是标准中的写法。)

    current_catalog → name

    1 条签名

  • current_query系统信息函数和操作符

    返回客户端提交的当前正在执行的查询文本(可能包含多条语句)。

    current_query ( ) → text

    1 条签名

  • has_any_column_privilege系统信息函数和操作符

    用户是否对表的至少一列具有权限?如果拥有整个表的权限,或至少一列获得了该权限的列级授权,则返回真。允许的权限类型为 SELECT、INSERT、UPDATE 和 REFERENCES。

    has_any_column_privilege ( user, table, privilege ) → boolean

    2 条签名

  • has_column_privilege系统信息函数和操作符

    用户对指定的表列有权限么?如果对整个表持有权限,或者对列授予了列级别的权限,则会成功。可以通过名称或属性编号(pg_attribute.attnum)指定列。允许的权限类型为 SELECT、INSERT、UPDATE 和 REFERENCES。

    has_column_privilege ( user, table, column, privilege ) → boolean

    2 条签名

  • has_foreign_data_wrapper_privilege系统信息函数和操作符

    用户是否具有外部数据包装器权限?唯一允许的权限类型为 USAGE。

    has_foreign_data_wrapper_privilege ( user, fdw, privilege ) → boolean

    2 条签名

  • has_server_privilege系统信息函数和操作符

    用户是否对外部服务器有权限?唯一允许的权限类型是 USAGE。

    has_server_privilege ( user, server, privilege ) → boolean

    2 条签名

  • pg_backend_pid系统信息函数和操作符

    返回附加到当前会话的服务器进程的进程 ID。

    pg_backend_pid ( ) → int

    1 条签名

  • pg_conf_load_time系统信息函数和操作符

    返回服务器配置文件最近一次加载的时间。如果当时当前会话已经存在,则返回该会话自身重新读取配置文件的时间(因此不同会话中的返回时间会略有不同)。否则,返回 postmaster 进程重新读取配置文件的时间。

    pg_conf_load_time ( ) → timestamp with time zone

    1 条签名

  • pg_get_function_arguments系统信息函数和操作符

    重建函数或过程的参数列表,采用其在 CREATE FUNCTION 中应有的形式(包括默认值)。

    pg_get_function_arguments ( func_oid ) → text

    1 条签名

  • pg_get_function_identity_arguments系统信息函数和操作符

    重建标识函数或过程所需的参数列表,采用其在 ALTER FUNCTION 等命令中应有的形式。这种形式省略默认值。

    pg_get_function_identity_arguments ( func_oid ) → text

    1 条签名

  • pg_get_function_result系统信息函数和操作符

    重建函数的 RETURNS 子句,采用其在 CREATE FUNCTION 中应有的形式。对于过程,返回 NULL。

    pg_get_function_result ( func_oid ) → text

    1 条签名

  • pg_get_functiondef系统信息函数和操作符

    重建函数或过程的创建命令。(这是反编译重建的结果,并非命令的原始文本。)结果是一条完整的 CREATE OR REPLACE FUNCTION 或 CREATE OR REPLACE PROCEDURE 语句。

    pg_get_functiondef ( func_oid ) → text

    1 条签名

  • pg_get_keywords系统信息函数和操作符

    返回描述服务器所识别 SQL 关键字的一组记录。word 列包含关键字。catcode 列包含类别代码:U 表示非保留关键字,C 表示可用作列名的关键字,T 表示可用作类型名或函数名的关键字,R 表示完全保留的关键字。如果关键字可以在 SELECT 列表中用作“裸”列标签,barelabel 列为 true;如果只能在 AS 之后使用,则为 false。catdesc 列包含描述关键字类别的字符串,该字符串可能已被本地化。baredesc 列包含描述关键字列标签状态的字符串,该字符串可能已被本地化。

    pg_get_keywords ( ) → setof record

    1 条签名

  • pg_typeof系统信息函数和操作符

    返回所传入值的数据类型的 OID。这有助于排查问题或动态构造 SQL 查询。函数声明的返回类型是 regtype,它是一种 OID 别名类型(参见第 8.19 节);这意味着它在比较时与 OID 相同,但显示为类型名。

    pg_typeof ( any ) → regtype

    1 条签名

  • pg_terminate_backend系统管理函数

    终止具有指定进程 ID 的后端进程的会话。如果调用角色是正在终止的后端的角色的成员,或者调用角色具有 pg_signal_backend 的权限,则也允许执行此操作,但只有超级用户才能终止超级用户后端。例外情况是,具有 pg_signal_autovacuum_worker 角色权限的角色可以终止 autovacuum 工作进程,而这些进程原本被视为超级用户后端。

    pg_terminate_backend ( pid int ) → boolean

    1 条签名

  • suppress_redundant_updates_trigger触发器函数

    抑制不改变数据的更新操作。详见下文。

    仅正文提及

移除函数0

这一版没有移除函数。

签名变化13

函数 分组 增删 第一条新增签名
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

换了分组0

这一版没有函数换分组。