PostgreSQL 9.2
主要功能
SQL 更改
常规
已添加
COLLATION FOR
表达式 (提交 6688d287)
已修改
ALTER DEFAULT PRIVILEGES
- 添加了更改类型权限的支持 (提交 72920557)
ALTER DOMAIN
ALTER FOREIGN DATA WRAPPER
ALTER FOREIGN DATA WRAPPER ... RENAME TO ...
子句已添加 (提交 5bcf8ede)
ALTER FOREIGN TABLE
ALTER INDEX
ALTER INDEX IF EXISTS ...
语法已添加 (提交 b8a91d9d)
ALTER SEQUENCE
ALTER SEQUENCE IF EXISTS ...
语法已添加 (提交 b8a91d9d)
ALTER SERVER
ALTER SERVER ... RENAME TO ...
子句已添加 (提交 5bcf8ede)
ALTER TABLE
ALTER TABLE [ IF EXISTS] ... RENAME CONSTRAINT ... TO ...
语法已添加 (提交 39d74e34)
ALTER VIEW
CREATE FOREIGN TABLE
- 列级
OPTIONS
子句已添加 (提交 c4096c76)
- 列级
CREATE TABLE
CREATE VIEW
CREATE VIEW ... WITH ( view_option_name [= view_option_value] )
语法已添加 (提交 0e4611c0)
DROP INDEX
DROP INDEX CONCURRENTLY
语法已添加 (提交 8cb53654)
EXPLAIN
TIMING
选项已添加 (提交 af7914c6)
SECURITY LABEL
性能更改
ALTER TABLE ... ALTER TYPE
可以在以下类型更改时跳过表/索引重建
后端更改
常规
- 在
external_pid_file
中指定的 pidfile 将被创建为世界可读 (提交 223d14a9) - 检查点进程 已添加 (提交 bf405ba8)
postmaster
- 在 postmaster 和每个后端之间添加了管道,以便更容易检测 postmaster 的死亡 (提交 89fd72cb)
锁定
- 添加了快速路径锁 (提交 3cba8999)
内存管理
- 添加了内存屏障支持 (提交 0c8eda62)
存储参数
已添加
钩子
添加了以下 钩子
emit_log_hook
(提交 19dbc346)post_parse_analyze_hook
(提交 a40fa613)
数据类型更改
常规
系统目录更改
表
已添加
pg_range
(提交 4429f6a9)pg_shseclabel
(提交 463f2625)
已修改
pg_am
pg_attribute
- 已添加列
attfdwoptions
(提交 c4096c76)
- 已添加列
pg_class
- 已添加列
relallvisible
(提交 e6858e66)
- 已添加列
pg_constraint
- 列
conisonly
重命名为connoinherit
(提交 09ff76fc)
- 列
pg_locks
- 已添加列
fastpath
(提交 3cba8999)
- 已添加列
pg_proc
pg_statistic
- 添加以下列(提交 0e5e167a)
stakind5
staop5
stanumbers5
stavalues5
- 添加以下列(提交 0e5e167a)
pg_tablespace
- 移除列
spclocation
并替换为函数pg_tablespace_location()
(提交 16d8e594)
- 移除列
视图
已修改
pg_stat_activity
pg_stat_bgwriter
pg_stat_database
pg_stat_replication
- 列
procpid
重命名为pid
(提交 4f42b546)
- 列
pg_stats
- 添加以下列(提交 0e5e167a)
most_common_elems
most_common_elem_freqs
elem_count_histogram
- 添加以下列(提交 0e5e167a)
系统函数更改
已添加
acldefault()
(提交 b376ec6f)array_to_json()
(提交 39909d1d)has_type_privilege()
(提交 72920557)isempty()
(提交 4429f6a9)lower(range)
(提交 4429f6a9)lower_inc()
(提交 4429f6a9)lower_inf()
(提交 4429f6a9)pg_export_snapshot()
(提交 bb446b68)pg_opfamily_is_visible()
(提交 b59d2fe4)pg_tablespace_location()
(提交 16d8e594)pg_trigger_depth()
(提交 74ab96a4)pg_xlog_location_diff()
(提交 bc5ac368)range_merge()
(提交 4429f6a9)row_to_json()
(提交 39909d1d)upper(range)
(提交 4429f6a9)upper_inc()
(提交 4429f6a9)upper_inf()
(提交 4429f6a9)
已修改
pg_cancel_backend()
- 非超级用户可以在其他后端终止其自己的会话(提交 c60ca19d)
pg_size_pretty()
- 添加
numeric
输入格式(提交 4a2d7ad7)
- 添加
pg_terminate_backend()
- 非超级用户可以在其他后端终止其自己的会话(提交 c60ca19d)
string_agg()
xpath()
索引更改
配置更改
已添加
enable_indexonlyscan
(提交 a2822fb9)event_source
(提交 d8ea33f2)include_if_exists
指令(提交 6d09b210)ssl_ca_file
(提交 a445cb92)ssl_cert_file
(提交 a445cb92)ssl_crl_file
(提交 a445cb92)ssl_key_file
(提交 a445cb92)temp_file_limit
(提交 23e5b16c)track_io_timing
(初始提交 40b9b957)
已修改
search_path
- 静默忽略不存在的模式(提交 880bfc32)
synchronous_commit
- 添加
remote_write
设置(初始提交 443b4821)
- 添加
移除
silent_mode
(提交 f7ea6bea)wal_sender_delay
(提交 cff75130)
libpq 更改
- 添加
PQsetSingleRowMode()
(提交 ea56ed9a)
过程语言更改
PL/pgSQL
- 添加
GET STACKED DIAGNOSTICS
命令(提交 3d4890c0)
外部数据包装器更改
- 规划 API 改进,在连接规划中提供更多灵活性(提交 b1495393)
- 启用 外部表 的统计信息收集(提交 263d9de6)
- 添加 外部表 的每列选项(初始提交 9088d1b9)
- 为
ALTER FOREIGN DATA WRAPPER
和ALTER
SERVER 添加RENAME
选项(提交 5bcf8ede) CREATE TABLE (LIKE ...)
可以使用 外部表 定义(提交 a9f2e31c)
信息模式
- 添加视图
role_udt_grant
(提交 d34e142c) - 添加视图
udt_privileges
(提交 d34e142c) - 添加视图
user_defined_types
(提交 d34e142c)
服务器实用程序
已修改
initdb
- 识别服务器时区并将值写入
postgresql.conf
(提交 ca4af308) - 添加选项
--auth-local
和--auth-host
(提交 核心实用程序已添加
已修改
createuser
dropuser
- 添加
--if-exists
选项(提交 7fe33a51)
- 添加
pg_basebackup
- 能够从备用服务器创建基本备份(提交 8366c780)
pg_dump
- 添加
--section
选项(提交 a4cd6abc)
- 添加
pg_restore
- 添加
--section
选项(提交 a4cd6abc)
- 添加
psql 更改
- 在
\x
命令中添加auto
选项(提交 95d2af16) - 添加
\ir
命令(提交 c7f23494) - 添加
\setenv
命令(提交 e6d9e210) - 添加
.psqlrc-X.X
(其中X.X
代表 PostgreSQL 主版本)处理(提交 2795592e) - 现在识别
PSQL_HISTORY
和PSQLRC
环境变量(提交 34c97844) - 添加
COMP_KEYWORD_CASE
变量以控制制表符补全中的关键字大小写(提交 db84ba65)
Contrib 模块
已添加
pg_test_timing
(提交 cee52386)tcn
(提交 6e3323d4)
已修改
file_fdw
- 添加
force_not_null
选项(提交 86a3f2d4)
- 添加
pgbench
pg_stat_statements
- SQL 文本规范化(提交 7313cc01)
- 添加脏缓冲区计数(提交 22543674)
- 添加
blk_read_time
和blk_write_time
列,如果启用了track_io_timing
,则会填充这些列(提交 5b4f3466)
pg_upgrade
- 将特定于
pg_upgrade
的环境变量重命名为以 PG 开头;现在忽略 PGPORT 并将其替换为PGPORTOLD
/PGPORTNEW
(提交 a88f4496) - 默认使用端口 50432(提交 a88f4496)
- 常规日志记录改进(提交 717f6d60)
- 仅在使用链接模式时才会锁定旧集群(提交 2127aac6)
- 添加用于增量生成更准确统计信息的脚本(提交 faec2815)
- 删除
-g
/-G
/-l
日志记录选项(提交 717f6d60) - 添加
-o
/-O
选项(提交 0dc3f57b) - 添加
-r
/--retain
选项(提交 717f6d60) - 改进
-v
/--verbose
的行为(提交 717f6d60) - 支持升级没有 postgres 数据库的集群(提交 a50d860a)
- 将特定于
sepgsql
vacuumlo
- 添加
-l
选项(初始提交 b69f2e36)
- 添加
预发布测试版本
PostgreSQL 9.2
开发开始的初始提交为 c9627922(2011-06-11)。
- 识别服务器时区并将值写入