# PostgreSQL 10 New Features

> Beta 1 source edition · 101 pages · 2017-05-22

---

LLMS index: [llms.txt](/en/llms.txt)

---

<div class="feature-book-intro"><p class="feature-book-kicker">WITH EXAMPLES · ENGLISH SOURCE EDITION</p><p>Explore the features, SQL examples, and compatibility changes documented by <a href="https://github.com/nori-shinoda">Noriyoshi Shinoda</a>.</p><div class="feature-book-actions"><a class="feature-read-button" href="01-about-this-document/">Start reading <span aria-hidden="true">→</span></a><a href="/en/_print/10/">Print this book</a><a href="https://github.com/nori-shinoda/documents/blob/1773200c5362476c4a549222b7d17fa91f546cae/postgresql10_beta1_new_features_en_20170522-1.pdf">Original PDF on GitHub</a></div></div>

<div class="feature-source-note"><span class="feature-edition-badge">Beta 1</span><span>2017-05-22</span><span>101 PDF pages</span><span>16 chapters</span></div>

> This book describes the **Beta 1** source document. Its examples and compatibility notes reflect that snapshot.

## Contents

- [1 About This Document](/en/10/01-about-this-document/)
- [2 Version Notation](/en/10/02-version-notation/)
- [3 Overview](/en/10/03-overview/)
- [4 Native Partition Table](/en/10/04-native-partition-table/)
- [5 Logical Replication](/en/10/05-logical-replication/)
- [6 Enhancement of Parallel Query](/en/10/06-enhancement-of-parallel-query/)
- [7 Architecture](/en/10/07-architecture/)
- [8 Monitoring](/en/10/08-monitoring/)
- [9 Quorum-based Synchronous Replication](/en/10/09-quorum-based-synchronous-replication/)
- [10 Enhancement of Row Level Security](/en/10/10-enhancement-of-row-level-security/)
- [11 Enhancement of SQL Statement](/en/10/11-enhancement-of-sql-statement/)
- [12 Change of Configuration Parameters](/en/10/12-change-of-configuration-parameters/)
- [13 Change of Utility](/en/10/13-change-of-utility/)
- [14 Contrib Modules](/en/10/14-contrib-modules/)
- [15 URL List](/en/10/15-url-list/)
- [16 Change History](/en/10/16-change-history/)

## Reference indexes

The opening chapter includes the first numbered table, [Table 1](/en/10/01-about-this-document/#pg10-tbl-1). The indexes below collect the book's other native numbered components.

<details class="feature-index"><summary>Tables</summary>

- [Table 1](/en/10/01-about-this-document/#pg10-tbl-1) — Version
- [Table 2](/en/10/01-about-this-document/#pg10-tbl-2) — Examples notation
- [Table 3](/en/10/01-about-this-document/#pg10-tbl-3) — Syntax rules
- [Table 4](/en/10/05-logical-replication/#pg10-tbl-4) — option specification
- [Table 5](/en/10/05-logical-replication/#pg10-tbl-5) — Added catalog
- [Table 6](/en/10/05-logical-replication/#pg10-tbl-6) — Related configuration parameters
- [Table 7](/en/10/05-logical-replication/#pg10-tbl-7) — Behavior at mismatch occurrence
- [Table 8](/en/10/07-architecture/#pg10-tbl-8) — Added system catalog list
- [Table 9](/en/10/07-architecture/#pg10-tbl-9) — pg\_hba\_file\_rules catalog
- [Table 10](/en/10/07-architecture/#pg10-tbl-10) — pg\_partitioned\_table catalog
- [Table 11](/en/10/07-architecture/#pg10-tbl-11) — pg\_publication catalog
- [Table 12](/en/10/07-architecture/#pg10-tbl-12) — pg\_publication\_rel catalog
- [Table 13](/en/10/07-architecture/#pg10-tbl-13) — pg\_publication\_tables catalog
- [Table 14](/en/10/07-architecture/#pg10-tbl-14) — pg\_sequence catalog
- [Table 15](/en/10/07-architecture/#pg10-tbl-15) — pg\_sequences catalog
- [Table 16](/en/10/07-architecture/#pg10-tbl-16) — pg\_stat\_subscription catalog
- [Table 17](/en/10/07-architecture/#pg10-tbl-17) — pg\_statistic\_ext catalog
- [Table 18](/en/10/07-architecture/#pg10-tbl-18) — pg\_subscription catalog
- [Table 19](/en/10/07-architecture/#pg10-tbl-19) — pg\_subscription\_rel catalog
- [Table 20](/en/10/07-architecture/#pg10-tbl-20) — System catalog with columns added
- [Table 21](/en/10/07-architecture/#pg10-tbl-21) — Changed name
- [Table 22](/en/10/07-architecture/#pg10-tbl-22) — Added role
- [Table 23](/en/10/08-monitoring/#pg10-tbl-23) — Value to be output to the wait\_event\_type column
- [Table 24](/en/10/10-enhancement-of-row-level-security/#pg10-tbl-24) — Added column \(pg\_policy catalog\)
- [Table 25](/en/10/10-enhancement-of-row-level-security/#pg10-tbl-25) — Added column \(pg\_policies catalog\)
- [Table 26](/en/10/12-change-of-configuration-parameters/#pg10-tbl-26) — Added parameters
- [Table 27](/en/10/12-change-of-configuration-parameters/#pg10-tbl-27) — Changed configuration parameters \(from pg\_settings catalog\)
- [Table 28](/en/10/12-change-of-configuration-parameters/#pg10-tbl-28) — Parameters with default values changed
- [Table 29](/en/10/12-change-of-configuration-parameters/#pg10-tbl-29) — Deprecated parameters

</details>

<details class="feature-index"><summary>Examples</summary>

- [Example 1](/en/10/04-native-partition-table/#pg10-eg-1) — Create LIST partition table
- [Example 2](/en/10/04-native-partition-table/#pg10-eg-2) — Create child table
- [Example 3](/en/10/04-native-partition-table/#pg10-eg-3) — Reference table definition
- [Example 4](/en/10/04-native-partition-table/#pg10-eg-4) — Execution of INSERT statement on parent table
- [Example 5](/en/10/04-native-partition-table/#pg10-eg-5) — Obtain partition information
- [Example 6](/en/10/04-native-partition-table/#pg10-eg-6) — Create RANGE Partition Table
- [Example 7](/en/10/04-native-partition-table/#pg10-eg-7) — Create child table
- [Example 8](/en/10/04-native-partition-table/#pg10-eg-8) — Reference table definition
- [Example 9](/en/10/04-native-partition-table/#pg10-eg-9) — Execution of INSERT statement on parent table
- [Example 10](/en/10/04-native-partition-table/#pg10-eg-10) — Access to child table
- [Example 11](/en/10/04-native-partition-table/#pg10-eg-11) — UNBOUNDED designation
- [Example 12](/en/10/04-native-partition-table/#pg10-eg-12) — Split UNBOUNDED partition
- [Example 13](/en/10/04-native-partition-table/#pg10-eg-13) — Create a table with the same structure as the parent table
- [Example 14](/en/10/04-native-partition-table/#pg10-eg-14) — Attach a partition
- [Example 15](/en/10/04-native-partition-table/#pg10-eg-15) — Detach a partition
- [Example 16](/en/10/04-native-partition-table/#pg10-eg-16) — TRUNCATE for parent table
- [Example 17](/en/10/04-native-partition-table/#pg10-eg-17) — COPY for parent table
- [Example 18](/en/10/04-native-partition-table/#pg10-eg-18) — Adding and deleting columns from the parent table
- [Example 19](/en/10/04-native-partition-table/#pg10-eg-19) — Hierarchical partition
- [Example 20](/en/10/04-native-partition-table/#pg10-eg-20) — Partition\-identifiable SQL and execution plan
- [Example 21](/en/10/04-native-partition-table/#pg10-eg-21) — Partition\-unspecified SQL and execution plan
- [Example 22](/en/10/04-native-partition-table/#pg10-eg-22) — Information of the parent table
- [Example 23](/en/10/04-native-partition-table/#pg10-eg-23) — Information of child table
- [Example 24](/en/10/04-native-partition-table/#pg10-eg-24) — Partition using function
- [Example 25](/en/10/04-native-partition-table/#pg10-eg-25) — RANGE partition and NULL value
- [Example 26](/en/10/04-native-partition-table/#pg10-eg-26) — Partition with different structure child table
- [Example 27](/en/10/04-native-partition-table/#pg10-eg-27) — Add primary key to parent table
- [Example 28](/en/10/04-native-partition-table/#pg10-eg-28) — Update partitioned column
- [Example 29](/en/10/04-native-partition-table/#pg10-eg-29) — ATTACH of the partition containing the tuple
- [Example 30](/en/10/04-native-partition-table/#pg10-eg-30) — Partition where column values overlap
- [Example 31](/en/10/04-native-partition-table/#pg10-eg-31) — ATTACH for FOREIGN TABLE
- [Example 32](/en/10/04-native-partition-table/#pg10-eg-32) — SQL executed on the remote instance
- [Example 33](/en/10/04-native-partition-table/#pg10-eg-33) — fail of INSERT statement
- [Example 34](/en/10/04-native-partition-table/#pg10-eg-34) — Index creation failure
- [Example 35](/en/10/05-logical-replication/#pg10-eg-35) — Search pg\_stat\_subscription catalog
- [Example 36](/en/10/05-logical-replication/#pg10-eg-36) — Replication Slot status
- [Example 37](/en/10/05-logical-replication/#pg10-eg-37) — Create replication target table \(master \/ slave instance\)
- [Example 38](/en/10/05-logical-replication/#pg10-eg-38) — PUBLICATION object creation \(master instance\)
- [Example 39](/en/10/05-logical-replication/#pg10-eg-39) — Create SUBSCRIPTION object \(slave instance\)
- [Example 40](/en/10/05-logical-replication/#pg10-eg-40) — Log that detected primary key violation on SUBSCRIPTION side
- [Example 41](/en/10/05-logical-replication/#pg10-eg-41) — Worker restart log
- [Example 42](/en/10/05-logical-replication/#pg10-eg-42) — Session disconnection log
- [Example 43](/en/10/05-logical-replication/#pg10-eg-43) — Partition tables and replication
- [Example 44](/en/10/06-enhancement-of-parallel-query/#pg10-eg-44) — Parallel query with PREPARE and EXECUTE statements
- [Example 45](/en/10/06-enhancement-of-parallel-query/#pg10-eg-45) — Parallel Index Scan
- [Example 46](/en/10/06-enhancement-of-parallel-query/#pg10-eg-46) — Parallel Index Only Scan
- [Example 47](/en/10/06-enhancement-of-parallel-query/#pg10-eg-47) — SubPlan and parallel query
- [Example 48](/en/10/06-enhancement-of-parallel-query/#pg10-eg-48) — Parallel Merge Join
- [Example 49](/en/10/06-enhancement-of-parallel-query/#pg10-eg-49) — Parallel Bitmap Heap Scan
- [Example 50](/en/10/07-architecture/#pg10-eg-50) — Reference pg\_sequences catalog
- [Example 51](/en/10/07-architecture/#pg10-eg-51) — Search for a sequence \(PostgreSQL 9\.6\)
- [Example 52](/en/10/07-architecture/#pg10-eg-52) — Search for a sequence \(PostgreSQL 10\)
- [Example 53](/en/10/07-architecture/#pg10-eg-53) — Referencing pg\_stat\_activity catalog
- [Example 54](/en/10/07-architecture/#pg10-eg-54) — Create temporary replication slot
- [Example 55](/en/10/07-architecture/#pg10-eg-55) — Instance start log \(partially omitted\)
- [Example 56](/en/10/07-architecture/#pg10-eg-56) — Create hash index \(PostgreSQL 10\)
- [Example 57](/en/10/07-architecture/#pg10-eg-57) — Create hash index \(PostgreSQL 9\.6\)
- [Example 58](/en/10/07-architecture/#pg10-eg-58) — Custom Scan Callback
- [Example 59](/en/10/07-architecture/#pg10-eg-59) — Inner Unique Join
- [Example 60](/en/10/08-monitoring/#pg10-eg-60) — EXPLAIN SUMMARY
- [Example 61](/en/10/08-monitoring/#pg10-eg-61) — Execute VACUUM VERBOSE statement
- [Example 62](/en/10/09-quorum-based-synchronous-replication/#pg10-eg-62) — Quorum\-based synchronous replication
- [Example 63](/en/10/10-enhancement-of-row-level-security/#pg10-eg-63) — Creating tables and POLICY \(PERMISSIVE \+ RESTRICTIVE\)
- [Example 64](/en/10/10-enhancement-of-row-level-security/#pg10-eg-64) — Confirmation of execution plan \(PERMISSIVE \+ RESTRICTIVE\)
- [Example 65](/en/10/10-enhancement-of-row-level-security/#pg10-eg-65) — Create POLICIES in RESTRICTIVE mode
- [Example 66](/en/10/10-enhancement-of-row-level-security/#pg10-eg-66) — Confirmation of execution plan \(RESTRICTIVE \+ RESTRICTIVE\)
- [Example 67](/en/10/11-enhancement-of-sql-statement/#pg10-eg-67) — UPDATE statement with ROW keyword
- [Example 68](/en/10/11-enhancement-of-sql-statement/#pg10-eg-68) — Creating extended statistics with the CREATE STATISTICS statement
- [Example 69](/en/10/11-enhancement-of-sql-statement/#pg10-eg-69) — Confirm the information of the table that created the extended statistics
- [Example 70](/en/10/11-enhancement-of-sql-statement/#pg10-eg-70) — Confirm extended statistics
- [Example 71](/en/10/11-enhancement-of-sql-statement/#pg10-eg-71) — GENERATED ALWAYS
- [Example 72](/en/10/11-enhancement-of-sql-statement/#pg10-eg-72) — OVERRIDING SYSTEM VALUE clause
- [Example 73](/en/10/11-enhancement-of-sql-statement/#pg10-eg-73) — GENERATED BY DEFAULT
- [Example 74](/en/10/11-enhancement-of-sql-statement/#pg10-eg-74) — Change of ENUM type by ALTER TYPE statement
- [Example 75](/en/10/11-enhancement-of-sql-statement/#pg10-eg-75) — Specify SMALLINT type in CREATE SEQUENCE statement
- [Example 76](/en/10/11-enhancement-of-sql-statement/#pg10-eg-76) — COPY statement for VIEW
- [Example 77](/en/10/11-enhancement-of-sql-statement/#pg10-eg-77) — Enhancement of BRIN index
- [Example 78](/en/10/11-enhancement-of-sql-statement/#pg10-eg-78) — UNENCRYPTED clause
- [Example 79](/en/10/11-enhancement-of-sql-statement/#pg10-eg-79) — Delete element from JSONB array
- [Example 80](/en/10/11-enhancement-of-sql-statement/#pg10-eg-80) — pg\_current\_logfile function
- [Example 81](/en/10/11-enhancement-of-sql-statement/#pg10-eg-81) — xmltable function
- [Example 82](/en/10/11-enhancement-of-sql-statement/#pg10-eg-82) — regexp\_match function
- [Example 83](/en/10/11-enhancement-of-sql-statement/#pg10-eg-83) — pg\_ls\_logdir \/ pg\_ls\_waldir functions
- [Example 84](/en/10/11-enhancement-of-sql-statement/#pg10-eg-84) — txid\_status function
- [Example 85](/en/10/11-enhancement-of-sql-statement/#pg10-eg-85) — to\_date \(PostgreSQL 9\.6\)
- [Example 86](/en/10/11-enhancement-of-sql-statement/#pg10-eg-86) — to\_date \(PostgreSQL 10\)
- [Example 87](/en/10/11-enhancement-of-sql-statement/#pg10-eg-87) — make\_date \(PostgreSQL 9\.6\)
- [Example 88](/en/10/11-enhancement-of-sql-statement/#pg10-eg-88) — make\_date \(PostgreSQL 10\)
- [Example 89](/en/10/11-enhancement-of-sql-statement/#pg10-eg-89) — execute method \/ cursor method
- [Example 90](/en/10/11-enhancement-of-sql-statement/#pg10-eg-90) — subtransaction syntax
- [Example 91](/en/10/12-change-of-configuration-parameters/#pg10-eg-91) — Lack max\_logical\_replication\_workers parameters
- [Example 92](/en/10/12-change-of-configuration-parameters/#pg10-eg-92) — Parameter log\_line\_prefix default
- [Example 93](/en/10/12-change-of-configuration-parameters/#pg10-eg-93) — Default setting of pg\_hba\.conf file
- [Example 94](/en/10/13-change-of-utility/#pg10-eg-94) — Display table information \(PostgreSQL 9\.6\)
- [Example 95](/en/10/13-change-of-utility/#pg10-eg-95) — Display table information \(PostgreSQL 10\)
- [Example 96](/en/10/13-change-of-utility/#pg10-eg-96) — Added output of \\timing command
- [Example 97](/en/10/13-change-of-utility/#pg10-eg-97) — \\gx command
- [Example 98](/en/10/13-change-of-utility/#pg10-eg-98) — \\set command
- [Example 99](/en/10/13-change-of-utility/#pg10-eg-99) — \\if command
- [Example 100](/en/10/13-change-of-utility/#pg10-eg-100) — \-Ft option and \-Xstream option
- [Example 101](/en/10/13-change-of-utility/#pg10-eg-101) — Temporary replication slot creation log\.
- [Example 102](/en/10/13-change-of-utility/#pg10-eg-102) — Error when there is no margin in the number of replication slots
- [Example 103](/en/10/13-change-of-utility/#pg10-eg-103) — Output in \-\-verbose mode
- [Example 104](/en/10/14-contrib-modules/#pg10-eg-104) — SQL for local execution
- [Example 105](/en/10/14-contrib-modules/#pg10-eg-105) — Remote execution SQL \(from log\_statement \= \&\#x27\;all\&\#x27\; log\)
- [Example 106](/en/10/14-contrib-modules/#pg10-eg-106) — FULL JOIN between remote tables
- [Example 107](/en/10/14-contrib-modules/#pg10-eg-107) — Program specified file\_fdw module
- [Example 108](/en/10/14-contrib-modules/#pg10-eg-108) — Examples of programs executed
- [Example 109](/en/10/14-contrib-modules/#pg10-eg-109) — Execution of bt\_index\_check function
- [Example 110](/en/10/14-contrib-modules/#pg10-eg-110) — pgstathashindex function
- [Example 111](/en/10/14-contrib-modules/#pg10-eg-111) — GiST index creation for columns of UUID type and ENUM type
- [Example 112](/en/10/14-contrib-modules/#pg10-eg-112) — pg\_stat\_statements view

</details>

<details class="feature-index"><summary>Figures</summary>

- [Figure 1](/en/10/02-version-notation/#pg10-fig-1) — Version notation
- [Figure 2](/en/10/04-native-partition-table/#pg10-fig-2) — Structure of table partition using inheritance table
- [Figure 3](/en/10/04-native-partition-table/#pg10-fig-3) — Partitioning table structure
- [Figure 4](/en/10/05-logical-replication/#pg10-fig-4) — Object structure
- [Figure 5](/en/10/05-logical-replication/#pg10-fig-5) — Cascade replication

</details>

## Source edition



The source chapter order, wording, examples, and publication credits are retained.
PDF page markers link the reading edition to the original document.
[Source identity and coverage](/sources/pg10-semantic.json) · [About the collection](/en/materials/)

---

Section pages:

- [About This Document](/en/10/01-about-this-document/): Source chapter 1 for PostgreSQL 10.
- [Version Notation](/en/10/02-version-notation/): Source chapter 2 for PostgreSQL 10.
- [Overview](/en/10/03-overview/): Source chapter 3.1 for PostgreSQL 10.
- [Native Partition Table](/en/10/04-native-partition-table/): Source chapter 3.2 for PostgreSQL 10.
- [Logical Replication](/en/10/05-logical-replication/): Source chapter 3.3 for PostgreSQL 10.
- [Enhancement of Parallel Query](/en/10/06-enhancement-of-parallel-query/): Source chapter 3.4 for PostgreSQL 10.
- [Architecture](/en/10/07-architecture/): Source chapter 3.5 for PostgreSQL 10.
- [Monitoring](/en/10/08-monitoring/): Source chapter 3.6 for PostgreSQL 10.
- [Quorum-based Synchronous Replication](/en/10/09-quorum-based-synchronous-replication/): Source chapter 3.7 for PostgreSQL 10.
- [Enhancement of Row Level Security](/en/10/10-enhancement-of-row-level-security/): Source chapter 3.8 for PostgreSQL 10.
- [Enhancement of SQL Statement](/en/10/11-enhancement-of-sql-statement/): Source chapter 3.9 for PostgreSQL 10.
- [Change of Configuration Parameters](/en/10/12-change-of-configuration-parameters/): Source chapter 3.10 for PostgreSQL 10.
- [Change of Utility](/en/10/13-change-of-utility/): Source chapter 3.11 for PostgreSQL 10.
- [Contrib Modules](/en/10/14-contrib-modules/): Source chapter 3.12 for PostgreSQL 10.
- [URL List](/en/10/15-url-list/): The source document's url list.
- [Change History](/en/10/16-change-history/): The source document's change history.
