PostgreSQL 16 三則 “新功能更新”
POSTGRESQL 15 剛剛推出不久,而POSTGRESQL 16 的新功能也已經在路上了,下面說說PG 16 已經確認有的3個新功能。
1 PG_DUMP 壓縮
相對於其他資料庫在非物理備份中,POSTGRESQL 的優勢會較大,因為POSTGRESQL 的PG_DUMP 支援兩種方式的備份,1 邏輯備份,也就是我們習慣的將資料庫的資料匯出成可以執行的語句 2 binary backup 這個備份方式中可以將備份的資料變換成二進位制的模式,並可以透過PG_RESTORE 的方式進行資料的恢復。
這裡PG_DUMP 在PG16之前的版本中提供的是針對與二進位制的資料備份中 -Fc 方式或 --format = customer的兩種方式,同時還在備份中透過 -Z 可以針對備份檔案來指定壓縮的級別,0 為不壓縮,9為壓縮的最高階別,透過GIZP的方式。Georgios Kokolatos 在其中提供了一個Patch, 這是PG16的新特色,因為你可以指定壓縮的方式和技術,如 zstd , lz4,等新的壓縮方式來自持PG_DUMP。
這裡需要注意的是,在PG安裝中,編譯需要將這些模組編譯進PG的資料庫中否則是無法進行支援的。在透過壓縮等級來進行資料壓縮中,在一些常規的資料在使用壓縮後,同樣的資料備份,在選擇0 不壓縮和選擇9 壓縮後之間相差可以達到30倍。
2 VACUUM 和 ANALYZE 的許可權問題
一般來說PG的資料庫在資料量較大的情況下,並且在資料進行大量變動的情況下,是需要注意一個資料庫表可以進行vacuum 或者 analyze的操作必須是superuser 或者 此表的owner. 所以在許可權方面,這兩個操作並不一定非要是SUPERUSER 或 OWNER, 如果我們有一個專門對一些表進行定期VACUUM的需要的普通工作人員,則這樣的就無法滿足客戶的需要。
Andrew Dunstan 提出了這個問題,讓POSTGRESQL 在資料庫的操作中有更多的靈活性。
舉例,你可以在PG 16中透過
create role simon;
grant vaccum on table XXX to simon;
來對資料表進行一個VACUUM 的許可權賦予,讓這個simon雖然沒有對這個表其他的許可權,但他可以對這個表進行 vacuum 的操作。
同時針對PG16 也針對這個VACUUM的角色進行了設定 pg_vacuum_all_tables , grant pg_vacuum_all_tables to simon; 此時simon就可以針對這個這個許可權,對資料庫下所有的表進行vacuum的操作權利。
最後的一則資訊,在POSTGRESQL 16 可以透過新的支援整數常量的非十進位制表示法!PostgreSQL已經對字串常量提供了強大的支援,E'\t', E'\011', E'\u0009'和U&'\0009'都表示相同的東西(一個“水平製表符”字元)。
這個功能是透過 John Naylor, Zhihong Yu, David Rowley , Dean Rasheed 等進行 patch的提供的,透過這個patch ,postgresql 將支援 8 , 16 以及二進位制資料集合。
產生這樣的想法的主要的來源還是資料的表達與理解的問題,一些非10進位制的資料表達,可以表達更大的數字,並且對於一些程式設計師來說這樣的表達方式更簡便。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024922/viewspace-2934187/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDK 16:Java 16的新功能 - InfoWorldJDKJava
- Java 16 新功能介紹Java
- 好訊息!PostgreSQL 13增加新功能!SQL
- Flutter 熱更新功能實現Flutter
- .Net Core3 新特性/新功能 16條
- Oracle vs PostgreSQL Develop(16) - Prepared StatementOracleSQLdev
- openeuler原始碼安裝Postgresql 16原始碼SQL
- 199IT小程式近日更新功能
- Fedora 18 引入離線更新功能
- PostgreSQL分割槽表更新思路SQL
- 多表關聯更新(mysql,oracle,postgreSQL)MySqlOracle
- PostgreSQL自動更新時間戳SQL時間戳
- LeetCode三則LeetCode
- .NET9 - 新功能體驗(三)
- PostgreSQL DBA(16) - WAL segment file內部結構SQL
- react + electron 應用線上更新功能記錄React
- PostgreSQL官方並行更新時間表SQL並行
- Kotlin 1.1.6版本更新,新功能搶先預覽Kotlin
- 合作商平臺-專案的全量更新功能
- 第 16 課 PostgreSQL查詢過程原始碼分析SQL原始碼
- PostgreSQL 插入時間與更新時間(qbit)SQL
- MDS100-16-16-ASEMI三相整流模組MDS100-16
- 教你Mysql如何實現不存在則插入,存在則更新MySql
- 微軟預告Microsoft 365三項新功能微軟ROS
- Electron增量更新(三)
- 基於vue-cli3 SSR 程式實現熱更新功能Vue
- PostgreSQL VACUUM 之深入淺出 (三)SQL
- linux安裝postgresql三種方式LinuxSQL
- Oracle vs PostgreSQL,研發注意事項(10)- PostgreSQL資料型別轉換規則#2OracleSQL資料型別
- Oracle vs PostgreSQL,研發注意事項(11)- PostgreSQL資料型別轉換規則#3OracleSQL資料型別
- Oracle vs PostgreSQL,研發注意事項(9)- PostgreSQL資料型別轉換規則#1OracleSQL資料型別
- PostgresQL權威知識推薦(持續更新)-202101SQL
- 基於 Electron 的 Rubick 2.4k star 啦,同步更新新功能!
- Adobe MAX 2021創意盛宴:creative cloud旗艦應用更新功能Cloud
- 開源監測平臺 WGCLOUD v3.4.6 更新功能詳解GCCloud
- mysql 存在該記錄則更新,不存在則插入記錄的sqlMySql
- 亞馬遜雲科技推出Amazon Connect三項新功能亞馬遜
- PostgreSQL-三種關閉方式(二)SQL