W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
發(fā)布日期: 2020-09-24
PostgreSQL 13 包含許多新的功能和增強功能,包括:
從B樹索引條目的去重中節(jié)省空間和提高性能
提高了使用聚合表或分區(qū)表的查詢性能
在使用擴展統(tǒng)計時,更好地進行查詢計劃
索引的并行vacuum回收
增量排序
上述項目和PostgreSQL13的其他新功能將在以下章節(jié)中詳細解釋。
對于那些希望從任何以前的版本遷移數據的人來說,需要使用pg_dumpall進行轉儲/恢復,或者使用pg_upgrade或邏輯復制。 關于遷移到新的主要版本的一般信息,請參見第 18.6 節(jié)。
第13版包含一些變化,可能會影響與以前版本的兼容性。 請注意以下不兼容情況:
改變SIMILAR TO ... ESCAPE NULL
以返回NULL
。 (Tom Lane)
這個新行為符合SQL規(guī)范。以前,一個空的ESCAPE
值被認為是指使用默認的轉義字符串(一個反斜杠字符)。 這也適用于substring(
。 在舊的視圖中,通過保持原函數不變,保留了以前的行為。text
FROM pattern
ESCAPE text
)
讓json[b]_to_tsvector()
完全檢查其string
選項的拼寫。 (Dominik Czarnota)
改變非默認的effective_io_concurrency值影響并發(fā)的方式。 (Thomas Munro)
以前,這個值是在設置并發(fā)請求數之前調整的。該值現在被直接使用。:
SELECT round(sum(OLDVALUE
/ n::float)) AS newvalue FROM generate_series(1, OLDVALUE
) s(n);
防止在pg_stat_ssl和pg_stat_gssapi系統(tǒng)視圖中顯示輔助進程。 (Euler Taveira)
將這些視圖連接到pg_stat_activity并希望看到輔助進程的查詢將需要使用左鍵連接。
重新命名各種wait events以提高一致性。 (Fujii Masao, Tom Lane)
修復ALTER FOREIGN TABLE ... 重命名COLUMN
,以返回一個更合適的命令標簽。(Fujii Masao)
以前它返回ALTER TABLE
;現在它返回ALTER FOREIGN TABLE
。
修復ALTER MATERIALIZED VIEW ... RENAME COLUMN
,以返回一個更合適的命令標簽。 (Fujii Masao)
以前它返回ALTER TABLE
;現在它返回ALTER MATERIALIZED VIEW
。
將配置參數wal_keep_segments
更名為wal_keep_size。 (Fujii Masao)
這決定了要為備用服務器保留多少WAL。它是以兆字節(jié)為單位的,而不是像以前的參數那樣以文件數為單位。如果你以前使用wal_keep_segments
,下面的公式會給你一個近似的設置:
wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)
移除對使用PostgreSQL8.0以前的語法定義operator class的支持。(Daniel Gustafsson)
移除對定義foreign key constraints的支持,使用PostgreSQL 7.3以前的語法。 (Daniel Gustafsson)
移除對 "不透明"偽類型的支持,這些偽類型是由PostgreSQL7.3以前的服務器使用的。 (Daniel Gustafsson)
移除對升級未打包(9.1前)擴展的支持 (Tom Lane)
CREATE EXTENSION
的FROM
選項已不再被支持。 任何仍然使用未打包的擴展的安裝,在更新到PostgreSQL13之前,應該將它們升級到打包的版本。
移除對時區(qū)數據庫中posixrules
文件的支持 (Tom Lane)
IANA的時區(qū)組已經廢棄了這個功能,這意味著它將在未來幾年逐漸從系統(tǒng)的時區(qū)數據庫中消失。 為了避免在時區(qū)數據更新時出現意外的行為變化,我們已經從第13版開始刪除了PostgreSQL對該功能的支持。 這只影響POSIX風格的時區(qū)規(guī)范的行為,這些規(guī)范缺乏明確的夏令時過渡規(guī)則;以前,過渡規(guī)則可以通過安裝一個自定義的
posixrules
文件來確定,但現在它是硬連接的。 對于任何受影響的安裝,建議的修復方法是開始使用一個地理時區(qū)名稱。
在ltree中,當lquery
模式包含相鄰的星號與大括號時,例如,*{2}.*{3}
,正確解釋為*{5}
(Nikita Glukhov)。
修正pageinspect的bt_metap()
,以返回更合適的數據類型,減少溢出的可能性。 (Peter Geoghegan)
下面你將看到PostgreSQL13和前一個主要版本之間的變化的詳細說明。
允許pruning分區(qū)在更多情況下發(fā)生。 (Yuzuko Hosoya, Amit Langote, álvaro Herrera)
允許partitionwise joins在更多情況下發(fā)生。 (Ashutosh Bapat, Etsuro Fujita, Amit Langote, Tom Lane)
例如,分區(qū)連接現在可以在分區(qū)表之間發(fā)生,即使它們的分區(qū)邊界不完全匹配。
在分區(qū)表上支持行級BEFORE
觸發(fā)器。 (álvaro Herrera)
但是,這樣的觸發(fā)器不允許改變數據寫入的目的分區(qū)。
允許分區(qū)表通過publications進行邏輯復制。(Amit Langote)
以前,分區(qū)必須被單獨復制。 現在,可以顯式地發(fā)布一個分區(qū)表,使其所有的分區(qū)都自動發(fā)布。 添加/刪除一個分區(qū)會導致它同樣被添加到或從發(fā)布中刪除。 CREATE PUBLICATION
選項publish_via_partition_root
控制是否對分區(qū)的修改還是作為它們父級的修改發(fā)布。
允許邏輯復制到訂閱者的分區(qū)表內 (Amit Langote)
以前,訂閱者只能接收非分區(qū)表的行。
允許在分區(qū)表達式中使用整行變量(即table
.*
)。 (Amit Langote)
更有效地在B樹索引中存儲重復數據。 (Anastasia Lubennikova, Peter Geoghegan)
這允許對低基數的列進行有效的B-tree索引,只存儲一次重復的鍵。 使用
pg_upgrade
升級的用戶將需要使用REINDEX
來讓已有的索引使用這個功能。
允許GiST和SP-GiST索引在box
列上支持ORDER BY
查詢。 (Nikita Glukhov)box
<-> point
允許GIN索引更有效地處理tsquery
搜索中的!
(NOT) 從句 (Nikita Glukhov, Alexander Korotkov, Tom Lane, Julien
Rouhaud)
允許索引操作者類傳參 (Nikita Glukhov)
允許CREATE INDEX
指定GiST簽名長度和整數范圍的最大數量。 (Nikita Glukhov)
在四字節(jié)和八字節(jié)的integer array、tsvector、pg_trgm、 ltree和hstore列上創(chuàng)建的索引現在可以控制這些GiST索引參數,而不是使用默認值。
防止使用非默認排序的索引被添加作為表的唯一或主鍵約束。 (Tom Lane)
索引的字符集或者排序規(guī)則必須與底層列的相匹配,但是ALTER TABLE
以前沒有檢查這一點。
改進優(yōu)化器的選擇性對包含/匹配操作符的估計。 (Tom Lane)
允許為統(tǒng)計目標設置擴展統(tǒng)計。 (Tomas Vondra)
這可以通過新的命令選項ALTER STATISTICS ...SET STATISTICS
來控制。以前,這是在更一般的統(tǒng)計目標設置的基礎上計算的。
允許在一次查詢中使用多個擴展統(tǒng)計對象 (Tomas Vondra)
允許對OR子句和IN/ANY
常數列表使用擴展的統(tǒng)計對象 (Pierre Ducroquet, Tomas Vondra)
如果FROM
子句中的函數被評估為常量,則允許其被拉起(內聯)。 (Alexander Kuzmenkov, Aleksandr Parfenov)
實現 增量排序 (James Coleman, Alexander Korotkov, Tomas Vondra)
如果已知一個中間查詢結果是由一個或多個所需排序的前導鍵排序的,那么如果行被分批排序,且前導鍵相等,則可以只考慮其余的鍵進行額外的排序。
如果需要,可以用enable_incremental_sort來控制。
提高排序inet值的性能。 (Brandur Leach)
允許哈希聚合對聚合大結果集使用磁盤存儲。 (Jeff Davis)
以前,如果預計hash聚合會使用超過work_mem的內存,就會避免進行hash聚合。 現在,盡管如此,也可以選擇一個哈希聚合計劃。 如果哈希表超過work_mem
幾倍hash_mem_multiplier,就會溢出到磁盤。
這種行為通常比舊的行為要好,在舊的行為中,一旦選擇了哈希聚合,無論它有多大,哈希表都會被保存在內存中 — 如果計劃器被錯誤地估計了,它可能會非常大。 如果需要,可以通過增加hash_mem_multiplier
來獲得類似的行為。
允許在autovacuum中插入,而不僅僅是更新和刪除,以觸發(fā)autovacuum清理行為。 (Laurenz Albe, Darafei Praliaskouski)
以前,僅插入數據會觸發(fā)自動分析,但不會觸發(fā)autovacuum自動清理,理由是不可能有任何被標記刪除的行需要刪除。 然而,vacuum掃描還有其他有用的副作用,比如設置頁面全部可見的位,這提高了index-only掃描的效率。 另外,允許只插入表接受周期性的vacuum掃描有助于分散“freezing”舊元組的工作,這樣,當整個表一下子達到反包圍閾值時,就不會突然有大量的凍結工作要做。
如果有必要,可以用新的參數autovacuum_vacuum_insert_threshold和autovacuum_vacuum_insert_scale_factor來調整這種行為,或者用相應的表格存儲選項。
增加maintenance_io_concurrency參數以控制維護操作的I/O并發(fā)性 (Thomas Munro)
如果wal_level是minimal
,允許在創(chuàng)建或重寫關系的事務中跳過WAL寫入。 (Kyotaro Horiguchi)
大于wal_skip_threshold的表,其文件將被sync而不是生成WAL。 以前,這只對COPY
操作進行,但該實現有一個錯誤,在崩潰恢復期間可能導致數據丟失。
當許多表空間被使用時,重放DROP DATABASE
命令時,改善性能。 (Fujii Masao)
提高大表truncation的性能。(Kirk Jamison)
改進對TOAST的前導字節(jié)的檢索。 (Binguo Bao, Andrey Borodin)
以前,壓縮的行外TOAST值被完全fetch,即使已知只需要一些前導字節(jié)?,F在 , 僅fetch產生結果的數據就好.
提高LISTEN
/NOTIFY
的性能。 (Martijn van Oosterhout, Tom Lane)
加快整數與文本的轉換速度 (David Fetter)
減少包含許多SQL語句的查詢字符串和擴展腳本的內存使用。 (Amit Langote)
允許EXPLAIN
、auto_explain、autovacuum和
pg_stat_statements追蹤WAL使用統(tǒng)計信息 (Kirill Bychik, Julien Rouhaud)
允許記錄SQL語句的樣本,而不是所有的語句 (Adrien Nayrat)
log_statement_sample_rate這些語句中的一部分將被記錄。 那些花費超過log_min_duration_sample時間的語句將被記錄下來。
在csvlog和可選的log_line_prefix日志輸出中添加后端類型。(Peter Eisentraut)
改進對預編譯的語句參數記錄日志的控制 (Alexey Bashtanov, álvaro Herrera)
GUC設置log_parameter_max_length控制在記錄非錯誤語句時輸出的參數值的最大長度,而log_parameter_max_length_on_error對記錄有錯誤的語句做同樣處理。 以前,預編譯的語句參數在出錯時不會被記錄。
允許在出錯后記錄函數調用的回溯信息 (Peter Eisentraut, álvaro Herrera)
新的參數backtrace_functions指定了哪些C函數應該在出錯時生成回溯記錄。
讓vacuum緩沖區(qū)計數器的寬度為64位,以避免溢出。 (álvaro Herrera)
在pg_stat_activity中添加leader_pid
,以報告一個并行worker的leader進程。 (Julien Rouhaud)
添加系統(tǒng)視圖 pg_stat_progress_basebackup
來報告流式基礎備份的進度。(Fujii Masao)
添加系統(tǒng)視圖 pg_stat_progress_analyze
來報告 ANALYZE 的進展。
(álvaro Herrera, Tatsuro Yamada, Vinayak Pokale)
添加系統(tǒng)視圖 pg_shmem_allocations
以顯示共享內存的使用情況 (Andres Freund, Robert Haas)
添加系統(tǒng)視圖pg_stat_slru
以監(jiān)控內部SLRU緩存。 (Tomas Vondra)
允許track_activity_query_size設置為高達1MB。 (Vyacheslav Makarov)
之前最大值是100kB.
在用posix_fallocate()
創(chuàng)建DSM段時報告一個等待事件。 (Thomas Munro)
添加等待事件VacuumDelay以報告基于成本的vacuum延遲 (Justin Pryzby)
為WAL存檔和恢復暫停添加等待事件 (Fujii Masao)
新事件是BackupWaitWalArchive和RecoveryPause。
添加等待事件RecoveryConflictSnapshot和RecoveryConflictTablespace來監(jiān)控恢復沖突 (Masahiko Sawada)
提高基于BSD的系統(tǒng)上等待事件的性能 (Thomas Munro)
只允許超級用戶查看ssl_passphrase_command設置。 (Insung Moon)
作為一項安全預防措施,這一點被改變了。
將服務器默認的用于加密連接的最小TLS版本從1.0改為1.2。 (Peter Eisentraut)
這個選擇可以由ssl_min_protocol_version控制。
在只讀事務模式下,收緊關于允許哪些實用程序命令的規(guī)則 (Robert Haas)
這一變化也增加了可以在并行查詢中運行的實用命令的數量。
允許allow_system_table_mods在服務器啟動后進行更改 (Peter Eisentraut)
當allow_system_table_mods被設置時,不允許非超級用戶修改系統(tǒng)表。(Peter Eisentraut)
以前,如果allow_system_table_mods在服務器啟動時被設置,非超級用戶可以對系統(tǒng)表發(fā)出INSERT
/UPDATE
/DELETE
命令。
啟用對Windows上Unix-domain sockets的支持。 (Peter Eisentraut)
允許通過重新加載來改變流式復制的配置設置 (Sergei Kornilov)
以前,要改變primary_conninfo和primary_slot_name,需要重新啟動服務器。
允許WAL接收者在未指定永久復制槽時使用臨時復制槽。 (Peter Eisentraut, Sergei Kornilov)
這種行為可以用wal_receiver_create_temp_slot啟用。
允許復制槽的WAL存儲受到max_slot_wal_keep_size的限制。(Kyotaro Horiguchi)
需要超過該值的復制槽被標記為無效。
允許standby promotion取消任何要求的暫停。 (Fujii Masao)
以前,當備用機處于暫停狀態(tài)時,不能進行promotion。
如果恢復沒有達到指定的恢復目標,則生成一個錯誤。 (Leif Gunnar Erlandsen, Peter Eisentraut)
以前,在達到WAL的末尾時,即使沒有達到目標,備機也會自我promote。
允許控制 邏輯解碼在溢出到磁盤之前使用多少內存 (Tomas Vondra, Dilip Kumar, Amit Kapila)
這是由 logical_decoding_work_mem 參數控制。
即使無效的頁面被WAL引用,也允許繼續(xù)恢復。 (Fujii Masao)
這是用ignore_invalid_pages啟用的。
允許VACUUM
并行地處理一個表的索引。 (Masahiko Sawada, Amit Kapila)
新的PARALLEL
選項控制了這一點。
允許FETCH FIRST
使用WITH TIES
來返回任何與最后結果行相匹配的額外記錄。(Surafel Temesgen)
在EXPLAIN
的BUFFER
輸出中報告規(guī)劃時間的緩沖區(qū)使用情況。 (Julien Rouhaud)
使CREATE TABLE LIKE
將CHECK
約束的NO INHERIT
屬性傳播到所創(chuàng)建的表。(Ildar Musin, Chris Travers)
當在一個分區(qū)表上使用LOCK TABLE
時,不要檢查子表的權限。 (Amit Langote)
在插入身份列時允許OVERRIDING USER VALUE
。 (Dean Rasheed)
添加ALTER TABLE ... DROP EXPRESSION
,允許從列中刪除GENERATED
屬性。 (Peter Eisentraut)
修復多步驟ALTER TABLE
命令中的bug (Tom Lane)
IF NOT EXISTS
子句現在可以按預期運行,即如果列已經存在,派生動作(如索引創(chuàng)建)就不會執(zhí)行。 另外,在某些情況下,將相關操作合并到一個ALTER TABLE
中,現在有效,而以前卻不能。
增加ALTER VIEW
語法來重命名視圖列 (Fujii Masao)
重命名視圖列已經是可能的,但人們必須寫ALTER TABLE RENAME COLUMN
,這是令人困惑的。
增加ALTER TYPE
選項,以修改一個基本類型的TOAST屬性和支持功能。 (Tomas Vondra, Tom Lane)
添加CREATE DATABASE
LOCALE
選項 (Peter Eisentraut)
這將現有的選項LC_COLLATE
和LC_CTYPE
合并為一個選項。
允許DROP DATABASE
斷開使用目標數據庫的會話,同時允許刪除數據庫成功。(Pavel Stehule, Amit Kapila)
這是由FORCE
選項啟用的。
添加結構成員tg_updatedcols
以允許C語言更新觸發(fā)器知道哪一列被更新。 (Peter Eisentraut)
增加多態(tài)數據類型,供需要兼容參數的函數使用 (Pavel Stehule)
新的數據類型是anycompatible
、anycompatiblearray
、anycompatiblenonarray
和
anycompatiblerange
。
添加SQL數據類型xid8
以揭示完整的事務idFullTransactionId。 (Thomas Munro)
現有的xid
數據類型只有4個字節(jié),所以它不提供事務年代。
增加數據類型regcollation
和相關函數,以表示校對(字符集)對象的OIDs。 (Julien Rouhaud)
在某些情況下使用glibc版本作為collation版本標識。(Thomas Munro)
如果glibc版本發(fā)生變化,將發(fā)出關于可能損壞依賴字符集的索引的警告。
增加對Windows上的字符集版本的支持 (Thomas Munro)
允許ROW
表達式用后綴符號提取其成員 (Tom Lane)
例如,(ROW(4, 5.0)).f1
現在返回4。
增加jsonb_set()
的替代版本,改進了NULL
的處理。 (Andrew Dunstan)
新的函數,jsonb_set_lax()
,處理一個NULL
的新值,方法是將指定的鍵設置為JSON空,刪除鍵,引發(fā)異常,或者根據要求返回jsonb
值,不作修改。
添加jsonpath .datetime()
方法。 (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov)
這個函數允許JSON值被轉換為時間戳,然后可以在jsonpath
表達式中處理。 這一變化還增加了jsonpath
函數,支持時間區(qū)間的輸出。
添加SQL函數NORMALIZE
()來規(guī)范Unicode字符串,以及IS NORMALIZED
來檢查是否規(guī)范化 (Peter Eisentraut)
為pg_lsn
添加min()
和max()
聚合。 (Fabrízio de Royes Mello)
這些在監(jiān)控查詢中特別有用。
允許Unicode
轉義,例如,E'\u
或nnnn
'U&'\
,以指定數據庫編碼中可用的任何字符,即使數據庫的編碼不是UTF-8 (Tom Lane)nnnn
'
允許to_date()
和to_timestamp()
識別非英文月/日名稱 (Juan José Santamaría Flecha, Tom Lane)
識別的名稱與to_char()
輸出的名稱相同,格式模式相同。
添加日期時間格式模式FF1
– FF6
,以指定輸入或輸出1至6位小數秒。 (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov)
這些模式可以被to_char()
、to_timestamp()
和jsonpath的.datetime()
使用。
添加SSSS
日期格式模式作為SQL標準的SS
的別名。 (Nikita Glukhov, Alexander Korotkov)
添加函數gen_random_uuid()
以生成第4版UUIDs (Peter Eisentraut)
增加最大公倍數(gcd
)和最小公倍數(lcm
)函數 (Vik Fearing)
提高numeric
類型的平方根(sqrt
)和自然對數(ln
)函數的性能和準確性。 (Dean Rasheed)
添加函數 min_scale()
,該函數返回小數點右邊的數字數量,這些數字是完全精確地表示numeric
值所需要的。 (Pavel Stehule)
添加函數 trim_scale()
,通過刪除尾部的零來減少numeric
值的比例。 (Pavel Stehule)
添加距離運算符的換算器。 (Nikita Glukhov)
例如,以前只支持point
<->
line
,現在line
<->
point
也可以。
創(chuàng)建所有transaction ID函數的xid8
版本。 (Thomas Munro)
舊的基于xid
的函數仍然存在,以便向后兼容。
允許get_bit()
和set_bit()
設置bytea
值的前256MB以外的位。 (Movead
Li)
允許advisory-lock函數在某些并行操作中使用 (Tom Lane)
增加刪除對象對擴展的依賴的能力 (álvaro Herrera)
該對象可以是一個函數、物化視圖、索引或觸發(fā)器。語法是ALTER ... NO DEPENDS ON
。
提高簡單PL/pgSQL表達式的性能 (Tom Lane, Amit Langote)
提高使用不可變表達式的PL/pgSQL函數的性能 (Konstantin Knizhnik)
允許libpq客戶端要求對加密連接進行通道綁定 (Jeff Davis)
使用libpq連接參數channel_binding
迫使TLS連接的另一端證明它知道用戶的密碼。 這樣可以防止中間人攻擊。
增加libpq連接參數,控制加密連接允許的最小和最大TLS版本。 (Daniel Gustafsson)
這些設置是ssl_min_protocol_version和ssl_max_protocol_version。默認情況下,最小的TLS版本是1.2(這代表了與以前版本相比的行為變化)。
允許使用密碼來解鎖客戶端證書 (Craig Ringer, Andrew Dunstan)
這是由libpq的sslpassword連接參數啟用的。
允許libpq使用DER編碼的客戶證書 (Craig Ringer, Andrew Dunstan)
修復ecpg的EXEC SQL elif
指令使其正確的運行。 (Tom Lane)
以前,它的行為與endif
后面的ifdef
相同,因此,同一個if
結構的前一個分支成功后,不會阻止elif
分支或后續(xù)分支的擴展。
在psql的默認prompts中添加事務狀態(tài)(%x
)。(Vik Fearing)
允許次要的psql提示是空白的,但與主要提示的寬度相同。 (Thomas Munro)
這是通過設置PROMPT2
為%w
來實現的。
允許psql的g
和\gx
命令在該單一命令期間改變>pset輸出選項。(Tom Lane)
這個功能允許像g(expand=on)
這樣的語法,這相當于\gx
。
添加psql命令以顯示運算符類和運算符系列 (Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov)
新的命令是 \dAc
, \dAf
, \dAo
, 和 \dAp
.
在psql的\dt+
和相關命令中顯示表的持久性。(David Fetter)
在verbose模式下,表/索引/視圖顯示該對象是永久的、臨時的還是未記錄的。
改進psql的d
對TOAST表的輸出。 (Justin Pryzby)
修復psql的\e
命令后的重新顯示 (Tom Lane)
當退出編輯器時,如果查詢沒有以分號或\g
結束,現在將顯示查詢緩沖區(qū)的內容。
在psql中添加\warn
命令 (David Fetter)
這就像echo
,只是文本被發(fā)送到stderr而不是stdout。
在命令行--help
輸出中添加PostgreSQL主頁。(Peter Eisentraut)
允許pgbench對其“accounts”表進行分區(qū) (Fabien Coelho)
這允許對分區(qū)進行性能測試。
添加pgbench命令/aset
,其行為類似于/gset
,但用于多個查詢。 (Fabien Coelho)
允許pgbench在服務器端生成其初始數據,而不是在客戶端。 (Fabien Coelho)
允許pgbench使用選項--show-script
來顯示腳本內容。 (Fabien Coelho)
為基礎備份生成備份清單,并對其進行驗證 (Robert Haas)
一個新的工具pg_verifybackup可以驗證備份。
讓pg_basebackup默認估計總備份大小 (Fujii Masao)
這個計算允許pg_stat_progress_basebackup
來顯示進度。 如果不需要,可以通過使用--no-estimate-size
選項來禁用它。
以前,只有在使用--progress
選項時才會發(fā)生這種計算。
在pg_rewind中增加一個選項,以配置備庫。 (Paul Guo, Jimmy Yih, Ashwin Agrawal)
這與pg_basebackup的--write-recovery-conf
選項相匹配。
允許pg_rewind使用目標集群的 群集的restore_command來檢索需要的WAL。 (Alexey Kondratov)
這是用-c
/--restore-target-wal
選項啟用的。
讓pg_rewind在rewinding前自動運行崩潰恢復。 (Paul Guo, Jimmy Yih, Ashwin Agrawal)
這可以通過使用--no-ensure-shutdown
來禁用。
增加PREPARE TRANSACTION
相關信息,由pg_waldump報告。 (Fujii Masao)
添加pg_waldump選項--quiet
以抑制非錯誤輸出。 (Andres Freund, Robert Haas)
添加pg_dump選項--include-foreign-data
來轉儲外部服務器的數據。 (Luis Carril)
允許由vacuumdb運行的vacuum命令以并行模式運行 (Masahiko Sawada)
這是通過新的--parallel
選項啟用的。
允許reindexdb并行操作 (Julien Rouhaud)
并行模式是通過新的--jobs
選項啟用的。
允許dropdb斷開使用目標數據庫的會話,同時允許刪除成功。 (Pavel Stehule)
這是用-f
選項啟用的。
從createuser中移除--adduser
和--no-adduser
。 (Alexander Lakhin)
長期支持的首選選項稱為 --superuser
和 --no-superuser
.
使用pg_upgrade程序的目錄作為運行pg_upgrade時的默認--new-bindir
設置。 (Daniel Gustafsson)
在文檔中增加一個glossary。 (Corey Huinker, Jürgen Purtz, Roger Harkavy, álvaro Herrera)
重新格式化包含函數和操作符信息的表格,使之更加清晰。(Tom Lane)
升級到使用DocBook 4.5。 (Peter Eisentraut)
增加對Visual Studio 2019上構建的支持 (Haribabu Kommi)
增加對MSYS2的構建支持 (Peter Eisentraut)
為Power PC編譯器增加compare_exchange和fetch_add匯編語言代碼 (Noah Misch)
更新Snowball stemmer全文搜索使用的詞典 (Panagiotis Mavrogiorgos)
這增加了希臘語的詞根,并改進了丹麥語和法語的詞根。
刪除對Windows 2000的支持 (Michael Paquier)
移除對非ELF BSD系統(tǒng)的支持。 (Peter Eisentraut)
移除對Python 2.5.X及以前版本的支持。 (Peter Eisentraut)
移除支持的OpenSSL 0.9.8和1.0.0版 (Michael Paquier)
移除configure選項
--disable-float8-byval
和 --disable-float4-byval
。 (Peter Eisentraut)
為了與一些零版本的C函數兼容,需要這些函數,但這些函數已不再被支持。
將查詢字符串傳遞給計劃器Hook函數 (Pascal Legrand, Julien Rouhaud)
添加TRUNCATE
命令掛鉤 (Yuli Khodorkovskiy)
添加TLS初始hook (Andrew Dunstan)
允許在沒有預定義的Unix域套接字目錄下進行構建 (Peter Eisentraut)
減少Unix平臺上SysV資源密鑰碰撞的概率 (Tom Lane)
使用操作系統(tǒng)的函數,可靠地清除包含敏感信息的內存 (Peter Eisentraut)
例如,這用于清除存儲在內存中的密碼。
添加headerscheck
腳本以測試C頭文件的兼容性 (Tom Lane)
將內部列表實現為數組,而不是單元格的鏈。 (Tom Lane)
這提高了訪問許多對象的查詢的性能。
改變TS_execute()
的API。(Tom Lane, Pavel Borisov)
TS_execute
回調現在必須提供三元(是/否/可能)邏輯。 準確計算NOT查詢現在是默認的。
允許extensions被指定為可信的。 (Tom Lane)
擁有數據庫級CREATE
權限的用戶可以在數據庫中安裝此類擴展,即使他們不是超級用戶。 這一變化也刪除了pg_pltemplate
系統(tǒng)目錄。
允許非超級用戶在不使用密碼的情況下連接到postgres_fdw外部服務器 (Craig Ringer)
具體來說,允許超級用戶為用戶映射設置password_required
為false。 仍然必須注意防止非超級用戶使用超級用戶憑證連接到外部服務器。
允許postgres_fdw使用證書認證 (Craig Ringer)
不同的用戶可以使用不同的證書。
允許sepgsql控制訪問TRUNCATE
命令。 (Yuli Khodorkovskiy)
添加擴展bool_plperl,將SQL布爾運算轉換為/從PL/Perl布爾運算。 (Ivan Panchenko)
讓pg_stat_statements將SELECT ... FOR UPDATE
命令與那些沒有FOR UPDATE
的命令區(qū)別對待。 (Andrew Gierth, Vik Fearing)
允許pg_stat_statements選擇性地跟蹤報表的計劃時間。 (Julien Rouhaud, Pascal Legrand, Thomas Munro, Fujii Masao)
此前,只有執(zhí)行時間被跟蹤。
徹底修改ltree的lquery語法,以便更有邏輯地處理NOT
(!)。 (Filip Rembialkowski, Tom Lane, Nikita Glukhov)
也允許非*查詢使用數字范圍({})的匹配。
增加對ltree、lquery和ltxtquery類型的二進制I/O的支持 (Nino Floris)
為dict_int增加一個選項,以忽略整數的signv。 (Jeff Janes)
添加adminpack函數pg_file_sync()
以允許fsync'ing一個文件 (Fujii Masao)
添加pageinspect函數來輸出t_infomask
/t_infomask2
值為人性化可讀格式(Craig Ringer, Sawada Masahiko, Michael Paquier)
在pageinspect輸出中添加B樹索引去重處理列 (Peter Geoghegan)
以下人員(按字母順序排列)作為補丁作者、提交者、審核者、測試者或問題報告者對該版本做出了貢獻。
Abhijit Menon-Sen |
Adam Lee |
Adam Scott |
Adé Heyward |
Adrien Nayrat |
Ahsan Hadi |
Alastair McKinley |
Aleksandr Parfenov |
Alex Aktsipetrov |
Alex Macy |
Alex Shulgin |
Alexander Korotkov |
Alexander Kukushkin |
Alexander Kuzmenkov |
Alexander Lakhin |
Alexey Bashtanov |
Alexey Kondratov |
álvaro Herrera |
Amit Kapila |
Amit Khandekar |
Amit Langote |
Amul Sul |
Anastasia Lubennikova |
Andreas Joseph Krogh |
Andreas Karlsson |
Andreas Kunert |
Andreas Seltenreich |
Andrei Zubkov |
Andres Freund |
Andrew Bille |
Andrew Dunstan |
Andrew Gierth |
Andrey Borodin |
Andrey Klychkov |
Andrey Lepikhov |
Anna Akenteva |
Anna Endo |
Anthony Nowocien |
Anton Vlasov |
Antonin Houska |
Ants Aasma |
Arne Roland |
Arnold Müller |
Arseny Sher |
Arthur Nascimento |
Arthur Zakirov |
Ashutosh Bapat |
Ashutosh Sharma |
Ashwin Agrawal |
Asif Rehman |
Asim Praveen |
Atsushi Torikoshi |
Augustinas Jokubauskas |
Austin Drenski |
Basil Bourque |
Beena Emerson |
Ben Cornett |
Benjie Gillam |
Beno?t Lobréau |
Bernd Helmle |
Bharath Rupireddy |
Bhargav Kamineni |
Binguo Bao |
Brad DeJong |
Brandur Leach |
Brent Bates |
Brian Williams |
Bruce Momjian |
Cameron Ezell |
Cary Huang |
Chapman Flack |
Charles Offenbacher |
Chen Huajun |
Chenyang Lu |
Chris Bandy |
Chris Travers |
Christoph Berg |
Christophe Courtois |
Corey Huinker |
Craig Ringer |
Cuiping Lin |
Dagfinn Ilmari Manns?ker |
Daniel Fiori |
Daniel Gustafsson |
Daniel Vérité |
Daniel Westermann |
Darafei Praliaskouski |
Daryl Waycott |
Dave Cramer |
David Christensen |
David Fetter |
David G. Johnston |
David Gilman |
David Harper |
David Rowley |
David Steele |
David Zhang |
Davinder Singh |
Dean Rasheed |
Denis Stuchalin |
Dent John |
Didier Gautheron |
Dilip Kumar |
Dmitry Belyavsky |
Dmitry Dolgov |
Dmitry Ivanov |
Dmitry Telpt |
Dmitry Uspenskiy |
Dominik Czarnota |
Dongming Liu |
Ed Morley |
Edmund Horner |
Emre Hasegeli |
Eric Gillum |
Erik Rijkers |
Erwin Brandstetter |
Ethan Waldo |
Etsuro Fujita |
Eugen Konkov |
Euler Taveira |
Fabien Coelho |
Fabrízio de Royes Mello |
Felix Lechner |
Filip Janus |
Filip Rembialkowski |
Frank Gagnepain |
Georgios Kokolatos |
Gilles Darold |
Greg Nancarrow |
Grigory Smolkin |
Guancheng Luo |
Guillaume Lelarge |
Hadi Moshayedi |
Haiying Tang |
Hamid Akhtar |
Hans Buschmann |
Hao Wu |
Haribabu Kommi |
Haruka Takatsuka |
Heath Lord |
Heikki Linnakangas |
Himanshu Upadhyaya |
Hironobu Suzuki |
Hugh McMaster |
Hugh Ranalli |
Hugh Wang |
Ian Barwick |
Ibrar Ahmed |
Ildar Musin |
Insung Moon |
Ireneusz Pluta |
Isaac Morland |
Ivan Kartyshov |
Ivan Panchenko |
Ivan Sergio Borgonovo |
Jaime Casanova |
James Coleman |
James Gray |
James Hunter |
James Inform |
James Lucas |
Jan Mussler |
Jaroslav Sivy |
Jeevan Chalke |
Jeevan Ladhe |
Jeff Davis |
Jeff Janes |
Jehan-Guillaume de Rorthais |
Jeremy Evans |
Jeremy Schneider |
Jeremy Smith |
Jerry Sievers |
Jesper Pedersen |
Jesse Kinkead |
Jesse Zhang |
Jian Zhang |
Jie Zhang |
Jim Nasby |
Jimmy Yih |
Jobin Augustine |
Joe Conway |
John Hsu |
John Naylor |
Jon Jensen |
Jonathan Katz |
Jorge Gustavo Rocha |
Josef ?imánek |
Joseph Nahmias |
Juan José Santamaría Flecha |
Julian Backes |
Julien Rouhaud |
Jürgen Purtz |
Justin King |
Justin Pryzby |
Karl O. Pinc |
Keisuke Kuroda |
Keith Fiske |
Kelly Min |
Ken Tanzer |
Kirill Bychik |
Kirk Jamison |
Konstantin Knizhnik |
Kuntal Ghosh |
Kyle Kingsbury |
Kyotaro Horiguchi |
Lars Kanis |
Laurenz Albe |
Leif Gunnar Erlandsen |
Li Japin |
Liudmila Mantrova |
Lucas Viecelli |
Luis M. Carril |
Luká? Sobotka |
Maciek Sakrejda |
Magnus Hagander |
Mahadevan Ramachandran |
Mahendra Singh Thalor |
Manuel Rigger |
Marc Munro |
Marcos David |
Marina Polyakova |
Mark Dilger |
Mark Wong |
Marko Tiikkaja |
Markus Winand |
Marti Raudsepp |
Martijn van Oosterhout |
Masahiko Sawada |
Masahiro Ikeda |
Masao Fujii |
Mateusz Guzik |
Matt Jibson |
Matteo Beccati |
Maxence Ahlouche |
Melanie Plageman |
Michael Banck |
Michael Luo |
Michael Meskes |
Michael Paquier |
Michail Nikolaev |
Mike Palmiotto |
Mithun Cy |
Movead Li |
Nathan Bossart |
Nazli Ugur Koyluoglu |
Neha Sharma |
Nicola Contu |
Nicolás Alvarez |
Nikhil Sontakke |
Nikita Glukhov |
Nikolay Shaplov |
Nino Floris |
Noah Misch |
Noriyoshi Shinoda |
Oleg Bartunov |
Oleg Samoilov |
Oleksii Kliukin |
Ondrej Jirman |
Panagiotis Mavrogiorgos |
Pascal Legrand |
Patrick McHardy |
Paul Guo |
Paul Jungwirth |
Paul Ramsey |
Paul Sivash |
Paul Spencer |
Pavan Deolasee |
Pavel Borisov |
Pavel Luzanov |
Pavel Stehule |
Pavel Suderevsky |
Peifeng Qiu |
Pengzhou Tang |
Peter Billen |
Peter Eisentraut |
Peter Geoghegan |
Peter Smith |
Petr Fedorov |
Petr Jelínek |
Phil Bayer |
Philip Semanchuk |
Philippe Beaudoin |
Pierre Ducroquet |
Pierre Giraud |
Piotr Gabriel Kosinski |
Piotr Wlodarczyk |
Prabhat Sahu |
Quan Zongliang |
Quentin Rameau |
Rafael Castro |
Rafia Sabih |
Raj Mohite |
Rajkumar Raghuwanshi |
Ramanarayana M |
Ranier Vilela |
Rares Salcudean |
Raúl Marín Rodríguez |
Raymond Martin |
Reijo Suhonen |
Richard Guo |
Robert Ford |
Robert Haas |
Robert Kahlert |
Robert Treat |
Robin Abbi |
Robins Tharakan |
Roger Harkavy |
Roman Peshkurov |
Rui DeSousa |
Rui Hai Jiang |
Rushabh Lathia |
Ryan Lambert |
Ryohei Takahashi |
Scott Ribe |
Sean Farrell |
Sehrope Sarkuni |
Sergei Agalakov |
Sergei Kornilov |
Sergey Cherkashin |
Shawn Debnath |
Shawn Wang |
Shay Rojansky |
Shenhao Wang |
Simon Riggs |
Slawomir Chodnicki |
Soumyadeep Chakraborty |
Stéphane Lorek |
Stephen Frost |
Steve Rogerson |
Steven Winfield |
Surafel Temesgen |
Suraj Kharage |
Takanori Asaba |
Takao Fujii |
Takayuki Tsunakawa |
Takuma Hoshiai |
Tatsuhito Kasahara |
Tatsuo Ishii |
Tatsuro Yamada |
Taylor Vesely |
Teodor Sigaev |
Tham Nguyen |
Thibaut Madelaine |
Thom Brown |
Thomas Kellerer |
Thomas Munro |
Tiago Anastacio |
Tim Clarke |
Tim M?hlmann |
Tom Ellis |
Tom Gottfried |
Tom Lane |
Tomas Vondra |
Tuomas Leikola |
Tushar Ahuja |
Victor Wagner |
Victor Yegorov |
Vignesh C |
Vik Fearing |
Vinay Banakar |
Vladimir Leskov |
Vladimir Sitnikov |
Vyacheslav Makarov |
Vyacheslav Shablistyy |
Will Leinweber |
William Crowell |
Wyatt Alt |
Yang Xiao |
Yaroslav Schekin |
Yi Huang |
Yigong Hu |
Yoann La Cancellera |
Yoshikazu Imai |
Yu Kimura |
Yugo Nagata |
Yuli Khodorkovskiy |
Yusuke Egashira |
Yuya Watari |
Yuzuko Hosoya |
ZhenHua Cai |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: