PostgreSQL 8.4

主要功能

数据类型更改

  • 布尔值
    • onoff 作为输入值被接受 (提交 05a7db05)
  • UUID
    • 输入接受每四个数字后可选的连字符 (提交 84aa7972)

SQL 更改

常规

  • 增加了对函数参数中默认值的支持 (提交 455dffbb)
  • 增加了对 VARIADIC 函数的支持 (提交 d89737d3)

新增

修改

  • ALTER DATABASE
    • ALTER DATABASE ... SET TABLESPACE ... 语法已添加 (提交 6517f377)
  • ALTER SEQUENCE
    • ALTER SEQUENCE ... START [ WITH ] ... 语法已添加 (提交 caede71b)
    • ALTER SEQUENCE ... RESTART [ WITH ] ... 语法已添加 (提交 10a3471b)
  • ALTER TABLE
    • ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE 语法已添加 (提交 1471e384)
  • ALTER TYPE
    • ALTER TYPE ... RENAME ... 语法已添加 (提交 5507b22d)
  • ALTER VIEW
    • 已添加以下语法 (提交 a0b012a1)
      • ALTER VIEW ... ALTER COLUMN ... [ SET | DROP ] DEFAULT
      • ALTER VIEW ... OWNER TO ...
      • ALTER VIEW ... SET SCHEMA ...
  • CLUSTER
    • 添加了 VERBOSE 选项 (提交 a3785555)
  • CREATE CAST
    • CREATE CAST ... WITH INOUT ... 语法已添加 (提交 092bc496)
  • CREATE FUNCTION
    • RETURNS TABLE 语法已添加 (提交 69a785b8)
    • WINDOW 属性已添加 (提交 26ce4e85)
  • CREATE TABLE AS
    • WITH [ NO ] DATA 语法已添加 (提交 8ecd5351)
  • CREATE TYPE
    • 添加了 LIKE 选项 (提交 3f936aac)
    • 添加了 CATEGORYPREFERRED 选项 (提交 bac3e836)
  • EXPLAIN
    • VERBOSE 选项现在打印每个计划节点的目标列表,而不是转储内部表示 (提交 87a2f050)
  • GRANT
    • 添加了表的 TRUNCATE 权限 (提交 a0b76dc6)
  • SELECT
    •  FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY 语法已添加 (提交 361bfc35)
  • TRUNCATE
    • TRUNCATE 现在默认情况下是递归的 (提交 ca8100f9)
    • ONLY 选项已添加 (提交 ca8100f9)
    • RESTART IDENTITY/CONTINUE IDENTITY 选项已添加 (提交 10a3471b)
  • VALUES
    • OFFSET start [ ROW | ROWS ] / FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY SQL:2008 语法已添加 (提交 361bfc35)

后端更改

函数

  • 函数现在可以接受默认参数 (提交 455dffbb)

钩子

添加了以下 钩子

源代码配置

  • 新增选项 --disable-float4-byval (提交 8472bf7a)
  • 新增选项 --disable-float8-byval (提交 8472bf7a)
  • 新增选项 --with-blocksize (提交 3c6248a8)
  • 新增选项 --with-segsize (提交 3c6248a8)
  • 新增选项 --with-wal-blocksize (提交 cf9f6c8d)
  • 新增选项 --with-wal-segsize (提交 cf9f6c8d)

触发器

  • 新增对语句级 ON TRUNCATE 触发器的支持 (提交 7692d8d5)

系统目录更改

新增

修改

移除

视图

新增

修改

系统函数

新增

修改

配置更改

新增

修改

移除

索引更改

GIN 索引

  • 添加了对部分匹配搜索的支持 (提交 e6dbcb72)
  • 索引运算符的损耗性确定被下推到 GIN opclass 函数 (提交 9b5c8d45)
  • GIN 批量插入操作添加了搜索树深度限制 (提交 e5efda44)
  • 添加了“fastupdate”支持 (提交 ff301d6e)
  • 添加了多列支持 (提交 27cb66fd)

日志记录更改

复制更改

配置

新增

移除

全文搜索更改

  • 当执行GIN对全文索引进行加权查找时,可以使用运算符 @@ 代替 @@@ (提交 9b5c8d45)
  • 添加了文本搜索 @@ 运算符的选择性估计函数 (提交 4e57668d)
  • 改进了对尼泊尔语/天城体字母的支持 (提交 e43bb5be)

身份验证更改

pg_hba.conf

libpq 更改

  • sslmode 连接参数值 verify-caverify-full 已添加 (提交 e883d0b5)
  • 添加了对通配符服务器证书的支持 (初始提交 cb10467d)
  • 现在可以指定客户端证书的文件位置 (提交 5f3724dd)
  • 当没有数据库连接保持打开状态时,OpenSSL 回调将被注销 (提交 4e816286)
  • PQinitOpenSSL() 函数已添加 (提交 97503a52)
  • lo_import_with_oid() 函数已添加 (提交 8436f9a0)

ECPG 更改

  • 添加了本地化支持 (初始提交 e1bdd07c)
  • ECPG 解析器现在是从服务器解析器自动生成的 (提交 4607c5ca)

过程语言更改

PL/pgSQL

  • 添加了 RETURN QUERY EXECUTE 语法 (提交 47391591)
  • RETURN QUERY [ EXECUTE ] 设置 FOUNDGET DIAGNOSTICS ROW_COUNT 变量 (提交 8c78f8e6)

psql 更改

  • 添加了 \ef 命令 (提交 2c863ca8)

服务器实用程序

修改

核心实用程序

修改

Contrib 模块

新增

修改

测试