Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
E.45. Release 9.5
Prev UpAppendix E. Release NotesHome Next

E.45. Release 9.5

Release date: 2016-01-07

E.45.1. Overview

Major enhancements inPostgreSQL 9.5 include:

The above items are explained in more detail in the sections below.

A dump/restore usingpg_dumpall, or use ofpg_upgrade, is required for those wishing to migrate data from any previous release.

Version 9.5 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:

E.45.3. Changes

Below you will find a detailed account of the changes betweenPostgreSQL 9.5 and the previous major release.

E.45.3.1. Server

E.45.3.1.1. Indexes
E.45.3.1.2. General Performance

E.45.3.2. Replication and Recovery

  • AllowINSERTs that would generate constraint conflicts to be turned intoUPDATEs or ignored (Peter Geoghegan, Heikki Linnakangas, Andres Freund)

    The syntax isINSERT ... ON CONFLICT DO NOTHING/UPDATE. This is the Postgres implementation of the popularUPSERT command.

  • AddGROUP BY analysis featuresGROUPING SETS,CUBE andROLLUP (Andrew Gierth, Atri Sharma)

  • Allow setting multiple target columns in anUPDATE from the result of a single sub-SELECT (Tom Lane)

    This is accomplished using the syntaxUPDATE tab SET (col1, col2, ...) = (SELECT ...).

  • AddSELECT optionSKIP LOCKED to skip locked rows (Thomas Munro)

    This does not throw an error for locked rows likeNOWAIT does.

  • AddSELECT optionTABLESAMPLE to return a subset of a table (Petr Jelínek)

    This feature supports the SQL-standard table sampling methods. In addition, there are provisions foruser-defined table sampling methods.

  • Suggest possible matches for mistyped column names (Peter Geoghegan, Robert Haas)

E.45.3.4. Utility Commands

  • Add more details about sort ordering inEXPLAIN output (Marius Timmer, Lukas Kreft, Arne Scheffer)

    Details includeCOLLATE,DESC,USING, andNULLS FIRST/LAST.

  • MakeVACUUM log the number of pages skipped due to pins (Jim Nasby)

  • MakeTRUNCATE properly update thepg_stat* tuple counters (Alexander Shulgin)

E.45.3.4.1. REINDEX
  • AllowREINDEX to reindex an entire schema using theSCHEMA option (Sawada Masahiko)

  • AddVERBOSE option toREINDEX (Sawada Masahiko)

  • PreventREINDEX DATABASE andSCHEMA from outputting object names, unlessVERBOSE is used (Simon Riggs)

  • Remove obsoleteFORCE option fromREINDEX (Fujii Masao)

E.45.3.5. Object Manipulation

E.45.3.5.1. Foreign Tables
  • Add support forIMPORT FOREIGN SCHEMA (Ronan Dunklau, Michael Paquier, Tom Lane)

    This command allows automatic creation of local foreign tables that match the structure of existing tables on a remote server.

  • AllowCHECK constraints to be placed on foreign tables (Shigeru Hanada, Etsuro Fujita)

    Such constraints are assumed to be enforced on the remote server, and are not enforced locally. However, they are assumed to hold for purposes of query optimization, such asconstraint exclusion.

  • Allow foreign tables to participate in inheritance (Shigeru Hanada, Etsuro Fujita)

    To let this work naturally, foreign tables are now allowed to have check constraints marked as not valid, and to set storage andOID characteristics, even though these operations are effectively no-ops for a foreign table.

  • Allow foreign data wrappers and custom scans to implement join pushdown (KaiGai Kohei)

E.45.3.5.2. Event Triggers

E.45.3.6. Data Types

  • Allow thexml data type to accept empty or all-whitespace content values (Peter Eisentraut)

    This is required by theSQL/XML specification.

  • Allowmacaddr input using the formatxxxx-xxxx-xxxx (Herwin Weststrate)

  • Disallow non-SQL-standard syntax forinterval with both precision and field specifications (Bruce Momjian)

    Per the standard, such type specifications should be written as, for example,INTERVAL MINUTE TO SECOND(2).PostgreSQL formerly allowed this to be written asINTERVAL(2) MINUTE TO SECOND, but it must now be written in the standard way.

  • Add selectivity estimators forinet/cidr operators and improve estimators for text search functions (Emre Hasegeli, Tom Lane)

  • Add data typesregrole andregnamespace to simplify entering and pretty-printing theOID of a role or namespace (Kyotaro Horiguchi)

E.45.3.6.1. JSON

E.45.3.7. Functions

E.45.3.7.2. Aggregates
  • Addmin()/max() aggregates forinet/cidr data types (Haribabu Kommi)

  • Use 128-bit integers, where supported, as accumulators for some aggregate functions (Andreas Karlsson)

E.45.3.8. Server-Side Languages

E.45.3.8.1. PL/pgSQL Server-Side Language
  • ImprovePL/pgSQL array performance (Tom Lane)

  • Add anASSERT statement inPL/pgSQL (Pavel Stehule)

  • Allow morePL/pgSQL keywords to be used as identifiers (Tom Lane)

E.45.3.9. Client Applications

E.45.3.9.1. psql
  • Allowpsql to produce AsciiDoc output (Szymon Guz)

  • Add anerrors mode that displays only failed commands topsql'sECHO variable (Pavel Stehule)

    This behavior can also be selected withpsql's-b option.

  • Provide separate column, header, and border linestyle control inpsql's unicode linestyle (Pavel Stehule)

    Single or double lines are supported; the default issingle.

  • Add new option%l inpsql'sPROMPT variables to display the current multiline statement line number (Sawada Masahiko)

  • Add\pset optionpager_min_lines to control pager invocation (Andrew Dunstan)

  • Improvepsql line counting used when deciding to invoke the pager (Andrew Dunstan)

  • psql now fails if the file specified by an--output or--log-file switch cannot be written (Tom Lane, Daniel Vérité)

    Previously, it effectively ignored the switch in such cases.

  • Addpsql tab completion when setting thesearch_path variable (Jeff Janes)

    Currently only the first schema can be tab-completed.

  • Improvepsql's tab completion for triggers and rules (Andreas Karlsson)

E.45.3.9.1.1. Backslash Commands
  • Addpsql\? help sectionsvariables andoptions (Pavel Stehule)

    \? variables showspsql's special variables and\? options shows the command-line options.\? commands shows the meta-commands, which is the traditional output and remains the default. These help displays can also be obtained with the command-line option--help=section.

  • Show tablespace size inpsql's\db+ (Fabrízio de Royes Mello)

  • Show data type owners inpsql's\dT+ (Magnus Hagander)

  • Allowpsql's\watch to output\timing information (Fujii Masao)

    Also prevent--echo-hidden from echoing\watch queries, since that is generally unwanted.

  • Makepsql's\sf and\ef commands honorECHO_HIDDEN (Andrew Dunstan)

  • Improvepsql tab completion for\set,\unset, and:variable names (Pavel Stehule)

  • Allow tab completion of role names inpsql\c commands (Ian Barwick)

E.45.3.9.2. pg_dump
  • Allowpg_dump to share a snapshot taken by another session using--snapshot (Simon Riggs, Michael Paquier)

    The remote snapshot must have been exported bypg_export_snapshot() or logical replication slot creation. This can be used to share a consistent snapshot across multiplepg_dump processes.

  • Support table sizes exceeding 8GB in tar archive format (Tom Lane)

    The POSIX standard for tar format does not allow elements of a tar archive to exceed 8GB, but most modern implementations of tar support an extension that does allow it. Use the extension format when necessary, rather than failing.

  • Makepg_dump always print the server andpg_dump versions (Jing Wang)

    Previously, version information was only printed in--verbose mode.

  • Remove the long-ignored-i/--ignore-version option frompg_dump,pg_dumpall, andpg_restore (Fujii Masao)

E.45.3.9.3. pg_ctl
  • Support multiplepg_ctl-o options, concatenating their values (Bruce Momjian)

  • Allow control ofpg_ctl's event source logging onMS Windows (MauMau)

    This only controlspg_ctl, not the server, which has separate settings inpostgresql.conf.

  • If the server's listen address is set to a wildcard value (0.0.0.0 in IPv4 or:: in IPv6), connect via the loopback address rather than trying to use the wildcard address literally (Kondo Yuta)

    This fix primarily affects Windows, since on other platformspg_ctl will prefer to use a Unix-domain socket.

E.45.3.9.4. pg_upgrade
  • Movepg_upgrade fromcontrib tosrc/bin (Peter Eisentraut)

    In connection with this change, the functionality previously provided by thepg_upgrade_support module has been moved into the core server.

  • Support multiplepg_upgrade-o/-O options, concatenating their values (Bruce Momjian)

  • Improve database collation comparisons inpg_upgrade (Heikki Linnakangas)

  • Remove support for upgrading from 8.3 clusters (Bruce Momjian)

E.45.3.9.5. pgbench
  • Move pgbench fromcontrib tosrc/bin (Peter Eisentraut)

  • Fix calculation of TPS numberexcluding connections establishing (Tatsuo Ishii, Fabien Coelho)

    The overhead for connection establishment was miscalculated whenever the number of pgbench threads was less than the number of client connections. Although this is clearly a bug, we won't back-patch it into pre-9.5 branches since it makes TPS numbers not comparable to previous results.

  • Allow counting of pgbench transactions that take over a specified amount of time (Fabien Coelho)

    This is controlled by a new--latency-limit option.

  • Allow pgbench to generate Gaussian/exponential distributions using\setrandom (Kondo Mitsumasa, Fabien Coelho)

  • Allowpgbench's\set command to handle arithmetic expressions containing more than one operator, and add% (modulo) to the set of operators it supports (Robert Haas, Fabien Coelho)

E.45.3.10. Source Code

E.45.3.10.1. MS Windows
  • Allow higher-precision time stamp resolution onWindows 8,Windows Server 2012, and later Windows systems (Craig Ringer)

  • Install shared libraries tobin inMS Windows (Peter Eisentraut, Michael Paquier)

  • Installsrc/test/modules together withcontrib onMSVC builds (Michael Paquier)

  • Allowconfigure's--with-extra-version option to be honored by theMSVC build (Michael Paquier)

  • PassPGFILEDESC intoMSVC contrib builds (Michael Paquier)

  • Add icons to allMSVC-built binaries and version information to allMS Windows binaries (Noah Misch)

    MinGW already had such icons.

  • Add optional-argument support to the internalgetopt_long() implementation (Michael Paquier, Andres Freund)

    This is used by theMSVC build.

E.45.3.11. Additional Modules

  • Add statistics for minimum, maximum, mean, and standard deviation times topg_stat_statements (Mitsumasa Kondo, Andrew Dunstan)

  • Addpgcrypto functionpgp_armor_headers() to extractPGP armor headers (Marko Tiikkaja, Heikki Linnakangas)

  • Allow empty replacement strings inunaccent (Mohammad Alhashash)

    This is useful in languages where diacritic signs are represented as separate characters.

  • Allow multicharacter source strings inunaccent (Tom Lane)

    This could be useful in languages where diacritic signs are represented as separate characters. It also allows more complex unaccent dictionaries.

  • Addcontrib modulestsm_system_rows andtsm_system_time to allow additional table sampling methods (Petr Jelínek)

  • AddGIN index inspection functions topageinspect (Heikki Linnakangas, Peter Geoghegan, Michael Paquier)

  • Add information about buffer pins topg_buffercache display (Andres Freund)

  • Allowpgstattuple to report approximate answers with less overhead usingpgstattuple_approx() (Abhijit Menon-Sen)

  • Movedummy_seclabel,test_shm_mq,test_parser, andworker_spi fromcontrib tosrc/test/modules (Álvaro Herrera)

    These modules are only meant for server testing, so they do not need to be built or installed when packagingPostgreSQL.


Prev Up Next
E.44. Release 9.5.1 Home Appendix F. Additional Supplied Modules
pdfepub
Go to Postgres Pro Standard 9.5
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp