E.4. リリース12

<title>Release 12</title>

<title>Release date:</title> リリース日: 2019-10-03

E.4.1. 概要

<title>Overview</title>

Major enhancements in <productname>PostgreSQL</productname> 12 include: PostgreSQL 12の主な強化点には以下があります。

Items in this list summarize one or more items below
  • General performance improvements, including: 各種のパフォーマンス改善:

    • Optimizations to space utilization and read/write performance for B-tree indexes B-treeインデックスにおける空間利用と読み書き性能の最適化。

    • Partitioning performance enhancements, including improved query performance on tables with thousands of partitions, improved insertion performance with <xref linkend="sql-insert"/> and <xref linkend="sql-copy"/>, and the ability to execute <link linkend="sql-altertable-attach-partition"><command>ALTER TABLE ATTACH PARTITION</command></link> without blocking queries パーティショニングのパフォーマンス向上。ここには、数千パーティションを伴うテーブルの問い合わせ性能の改善、改善されたINSERTCOPYでの挿入性能、問い合わせをブロックせずにALTER TABLE ATTACH PARTITIONを実行できることが含まれます。

    • Automatic (but overridable) inlining of <link linkend="queries-with">common table expressions</link> (<acronym>CTEs</acronym>) 共通テーブル式の自動インライン化(無効化も可能)。

    • Reduction of <acronym>WAL</acronym> overhead for creation of <link linkend="gist">GiST</link>, <link linkend="gin">GIN</link>, and <link linkend="spgist">SP-GiST</link> indexes GiSTGIN、および、SP-GiSTインデックスの作成でのWALオーバーヘッド削減。

    • Support for covering <link linkend="gist">GiST</link> indexes, via the <link linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link> clause INCLUDE句によるカバーリングGiSTインデックスの対応。

    • Multi-column most-common-value (MCV) statistics can be defined via <xref linkend="sql-createstatistics"/>, to support better plans for queries that test several non-uniformly-distributed columns CREATE STATISTICSで複数列の最頻値(Most-Common-Value,MCV)統計情報を定義できるようになりました。いくつかの一様でない分布の列を分析する問い合わせに対するより良いプラン作成を助けます。

  • Enhancements to administrative functionality, including: 以下の管理機能の拡張:

    • <link linkend="sql-reindex-concurrently"><command>REINDEX CONCURRENTLY</command></link> can rebuild an index without blocking writes to its table REINDEX CONCURRENTLYで対象テーブルへの書き込みをブロックすることなくインデックスの再構築が可能に

    • <xref linkend="app-pgchecksums"/> can enable/disable page checksums (used for detecting data corruption) in an offline cluster pg_checksumsで停止中のクラスタにてページチェックサムを有効化/無効化できるように

    • Progress reporting statistics for <xref linkend="sql-createindex"/>, <xref linkend="sql-reindex"/>, <xref linkend="sql-cluster"/>, <link linkend="sql-vacuum">VACUUM FULL</link>, and <xref linkend="app-pgchecksums"/> CREATE INDEXREINDEXCLUSTERVACUUM FULL、および、pg_checksumsに対する進捗報告の統計

  • Support for the <link linkend="functions-sqljson-path"><acronym>SQL/JSON</acronym> path</link> language SQL/JSON path言語に対応

  • Stored <link linkend="ddl-generated-columns">generated columns</link> 格納された生成列

  • <link linkend="collation-nondeterministic">Nondeterministic</link> ICU collations, enabling case-insensitive and accent-insensitive grouping and ordering 大文字小文字やアクセント記号の有無を同一視したグループ化や並び替えを可能にする、非決定的ICU照合順序

  • New authentication features, including: 以下の新たな認証機能:

    • Encryption of TCP/IP connections when using <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link> authentication GSSAPI認証を使用するときのTCP/IP接続の暗号化

    • Discovery of LDAP servers using <acronym>DNS SRV</acronym> records DNS SRVレコードを用いたLDAPサーバの検出

    • Multi-factor authentication, using the <link linkend="auth-cert"> <literal>clientcert=verify-full</literal></link> option combined with an additional authentication method in <filename>pg_hba.conf</filename> clientcert=verify-fullオプションをpg_hba.confでの追加的な認証方式と組み合わせることによる、多要素認証

The above items are explained in more detail in the sections below. 上記の項目について以下でより詳細に説明します。

E.4.2. バージョン12への移行

<title>Migration to Version 12</title>

A dump/restore using <xref linkend="app-pg-dumpall"/> or use of <xref linkend="pgupgrade"/> or logical replication is required for those wishing to migrate data from any previous release. See <xref linkend="upgrading"/> for general information on migrating to new major releases. 以前のリリースからデータを移行したい時は、どのリリースについても、pg_dumpallを利用したダンプ/リストア、あるいはpg_upgradeの使用が必要です。

Version 12 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities: バージョン12には、以前のバージョンとの互換性に影響する多数の変更点が含まれています。 以下の非互換性に注意してください。

  • Author: Andres Freund <andres@anarazel.de> 2018-11-20 [578b22971] Remove WITH OIDS support, change oid catalog column visi

    Remove the special behavior of <link linkend="datatype-oid">oid</link> columns (Andres Freund, John Naylor) oid列の特別な振る舞いを廃止しました。 (Andres Freund, John Naylor)

    Previously, a normally-invisible <structfield>oid</structfield> column could be specified during table creation using <literal>WITH OIDS</literal>; that ability has been removed. Columns can still be explicitly declared as type <type>oid</type>. Operations on tables that have columns created using <literal>WITH OIDS</literal> will need adjustment. これまでテーブル作成時にWITH OIDSを用いて通常は見えないoid列を設定できましたが、この機能は廃止されました。 なお引き続き明示的にoid型として列を宣言することは可能です。 WITH OIDSを用いて作られた列を持つテーブルの操作には補正が必要です。

    The system catalogs that previously had hidden <structfield>oid</structfield> columns now have ordinary <structfield>oid</structfield> columns. Hence, <command>SELECT *</command> will now output those columns, whereas previously they would be displayed only if selected explicitly. これまで隠しoid列を持っていたシステムカタログは、通常のoid列を持つようになります。 ゆえに、これまでは明示的に選択した場合に限って表示されていましたが、SELECT *がこれらの列を出力するようになります。

  • Author: Andres Freund <andres@anarazel.de> 2018-10-11 [cda6a8d01] Remove deprecated abstime, reltime, tinterval datatypes.

    Remove data types <type>abstime</type>, <type>reltime</type>, and <type>tinterval</type> (Andres Freund) データ型abstimereltimetintervalを廃止しました。 (Andres Freund)

    These are obsoleted by SQL-standard types such as <type>timestamp</type>. これらはSQL標準のtimestampなどの型により置き換えられています。

  • Author: Andres Freund <andres@anarazel.de> 2018-10-11 [2d10defa7] Remove timetravel extension.

    Remove the <filename>timetravel</filename> extension (Andres Freund) timetravel拡張を廃止しました。 (Andres Freund)

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-25 [2dedf4d9a] Integrate recovery.conf into postgresql.conf

    Move <filename>recovery.conf</filename> settings into <link linkend="runtime-config-wal-archive-recovery"><filename>postgresql.conf</filename></link> (Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov) recovery.confの設定をpostgresql.confに移動しました。 (Masao Fujii, Simon Riggs, Abhijit Menon-Sen, Sergei Kornilov)

    <filename>recovery.conf</filename> is no longer used, and the server will not start if that file exists. <link linkend="runtime-config-wal-archive-recovery">recovery.signal</link> and <filename>standby.signal</filename> files are now used to switch into non-primary mode. The <varname>trigger_file</varname> setting has been renamed to <xref linkend="guc-promote-trigger-file"/>. The <varname>standby_mode</varname> setting has been removed. recovery.confはもはや使われず、このファイルがあるとサーバは起動しなくなります。 非プライマリモードに切り替えするのに、これからはrecovery.signalstandby.signalファイルが使われます。 trigger_file設定はpromote_trigger_fileに改名されました。 standby_mode設定は廃止されました。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-28 [f2cbffc7a] Only allow one recovery target setting

    Do not allow multiple conflicting <link linkend="runtime-config-wal-recovery-target"><varname>recovery_target</varname>*</link> specifications (Peter Eisentraut) 複数の衝突するrecovery_target*の指定を禁止しました。 (Peter Eisentraut)

    Specifically, only allow one of <xref linkend="guc-recovery-target"/>, <xref linkend="guc-recovery-target-lsn"/>, <xref linkend="guc-recovery-target-name"/>, <xref linkend="guc-recovery-target-time"/>, and <xref linkend="guc-recovery-target-xid"/>. Previously, multiple different instances of these parameters could be specified, and the last one was honored. Now, only one can be specified, though the same one can be specified multiple times and the last specification is honored. 具体的には、recovery_targetrecovery_target_lsnrecovery_target_namerecovery_target_time、および、recovery_target_xidの中で一つだけの指定が許されます。 これまではこれらパラメータの複数の異なる指定が可能で、最後の一つが適用されました。 これからは一つだけが指定できます。しかし、同じ項目を複数回指定することは可能で、最後の一つが適用されます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-01-13 [0acb3bc33] Change default of recovery_target_timeline to <literal>latest</literal>

    Cause recovery to advance to the latest timeline by default (Peter Eisentraut) リカバリがデフォルトで最新タイムラインに進むようにしました。 (Peter Eisentraut)

    Specifically, <xref linkend="guc-recovery-target-timeline"/> now defaults to <literal>latest</literal>. Previously, it defaulted to <literal>current</literal>. 具体的には、recovery_target_timelineのデフォルトがlatestになりました。 これまではcurrentがデフォルトでした。

  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2018-07-29 [a7dc63d90] Refactor geometric functions and operators 2018-08-16 [c4c340088] Use the built-in float datatypes to implement geometric 2018-09-26 [2e2a392de] Fix problems in handling the line data type

    Refactor code for <link linkend="functions-geometry">geometric functions and operators</link> (Emre Hasegeli) 幾何関数・演算子のコードをリファクタリングしました。 (Emre Hasegeli)

    This could lead to more accurate, but slightly different, results compared to previous releases. Notably, cases involving NaN, underflow, overflow, and division by zero are handled more consistently than before. これにより、以前のリリースと比べて、より正確ですが僅かに異なる結果をもたらす可能性があります。 特にNaN、アンダーフロー、オーバーフロー、および、ゼロ除算に関する場合が以前より整合的に扱われます。

  • Author: Andrew Gierth <rhodiumtoad@postgresql.org> 2019-02-13 [02ddd4993] Change floating-point output format for improved perform 2018-10-12 [f1885386f] Make float exponent output on Windows look the same as e

    Improve performance by using a new algorithm for output of <link linkend="datatype-float"><type>real</type></link> and <type>double precision</type> values (Andrew Gierth) realdouble precisionの値の出力について、新たなアルゴリズムを使うことで性能を改善しました。 (Andrew Gierth)

    Previously, displayed floating-point values were rounded to 6 (for <type>real</type>) or 15 (for <type>double precision</type>) digits by default, adjusted by the value of <xref linkend="guc-extra-float-digits"/>. Now, whenever <varname>extra_float_digits</varname> is more than zero (as it now is by default), only the minimum number of digits required to preserve the exact binary value are output. The behavior is the same as before when <varname>extra_float_digits</varname> is set to zero or less. これまでは表示される浮動小数点の値はデフォルトで6桁(realの場合)または15桁(double precisionの場合)に丸められて、extra_float_digitsの値により調整されていました。 これからは、extra_float_digitsがゼロより大きいとき(これからはデフォルトです)にはいつでも、正確なバイナリ値を保持するのに必要とされる最小桁数だけ出力します。 extra_float_digitsをゼロ以下に設定したときの動作は以前と同じです。

    Also, formatting of floating-point exponents is now uniform across platforms: two digits are used unless three are necessary. In previous releases, Windows builds always printed three digits. また、浮動小数点の指数部の書式がプラットフォーム間で統一されました。 3桁が必要でない限り2桁が使われます。 これまでのリリースでは、Windowsビルドは常に3桁を出力していました。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-29 [6645ad6bd] Use a separate random seed for SQL random()/setseed() fu 2018-12-29 [4203842a1] Use pg_strong_random() to select each server process's r

    <link linkend="functions-math-random-table"><function>random()</function></link> and <function>setseed()</function> now behave uniformly across platforms (Tom Lane) random()setseed()がプラットフォーム間で統一された動作をするようになります。 (Tom Lane)

    The sequence of <function>random()</function> values generated following a <function>setseed()</function> call with a particular seed value is likely to be different now than before. However, it will also be repeatable, which was not previously guaranteed because of interference from other uses of random numbers inside the server. The SQL <function>random()</function> function now has its own private per-session state to forestall that. 特定のシード値を伴ったsetseed()呼び出しに従って生成される一連のrandom()値が、これまでと異なるかもしれません。 しかしながら、再現性を持つようになります。サーバ内での他ユーザの乱数使用の干渉のため、以前は再現性が保証されませんでした。 これを防止するため、SQLのrandom()関数は固有のセッション毎の状態を持つようになります。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-05-14 [7c850320d] Fix SQL-style substring() to have spec-compliant greedin

    Change SQL-style <link linkend="functions-similarto-regexp"><function>substring()</function></link> to have standard-compliant greediness behavior (Tom Lane) SQLスタイルのsubstring()を標準に従った欲張り動作をするように変更しました。 (Tom Lane)

    In cases where the pattern can be matched in more than one way, the initial sub-pattern is now treated as matching the least possible amount of text rather than the greatest; for example, a pattern such as <literal>%#"aa*#"%</literal> now selects the first group of <literal>a</literal>'s from the input, not the last group. 複数方法でのマッチが可能なパターンの場合に、最初の副パターンが最大ではなく最小テキスト長でマッチするようになります。 例えば、%#"aa*#"%のようなパターンは入力からaの、最後のグループではなく、最初のグループを選択するようになります。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-04-23 [c06e3550d] Don't request pretty-printed output from xmlNodeDump().

    Do not pretty-print the result of <link linkend="functions-xml"><function>xpath()</function></link> or the <literal>XMLTABLE</literal> construct (Tom Lane) xpath()XMLTABLEによる生成の結果を整形をしなくしました。 (Tom Lane)

    In some cases, these functions would insert extra whitespace (newlines and/or spaces) in nodeset values. This is undesirable since depending on usage, the whitespace might be considered semantically significant. 一部の場合にこれら関数がノードセット値に追加の空白文字(改行やスペース)を挿入することがありました。 空白文字も意味的に重要とされるかもしれず、用途によってはこれは望ましくありません。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-03-13 [6dd263cfa] Rename pg_verify_checksums to pg_checksums

    Rename command-line tool <application>pg_verify_checksums</application> to <xref linkend="app-pgchecksums"/> (Michaël Paquier) コマンドラインツールpg_verify_checksumspg_checksumsに改名しました。 (Michaël Paquier)

    This column has been deprecated for a long time, because it did not update in response to other catalog changes (such as column renamings). The recommended way to get a text version of a check constraint's expression from pg_constraint is pg_get_expr(conbin, conrelid). pg_get_constraintdef() is also a useful alternative.

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-04 [413ccaa74] pg_restore: Require -f - to mean stdout

    In <xref linkend="app-pgrestore"/>, require specification of <literal>-f -</literal> to send the dump contents to standard output (Euler Taveira) pg_restoreでダンプ内容を標準出力に送るのに-f -指定を必須としました。 (Euler Taveira)

    Previously, this happened by default if no destination was specified, but that was deemed to be unfriendly. これまではこれは出力先が指定されない場合のデフォルト動作でしたが、これは不親切と考えられました。

    This column has been deprecated for a long time, because it did not update in response to other catalog changes (such as column renamings). The recommended way to get a text version of a default-value expression from pg_attrdef is pg_get_expr(adbin, adrelid).

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-14 [eaf746a5b] Make psql's "\pset format" command reject non-unique abb Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-26 [a7eece4fc] Fix breakage of "\pset format latex".

    Disallow non-unique abbreviations in <application>psql</application>'s <command>\pset format</command> command (Daniel Vérité) psql\pset formatコマンドで一意でない省略形を禁止しました。 (Daniel Vérit)

    Previously, for example, <command>\pset format a</command> chose <literal>aligned</literal>; it will now fail since that could equally well mean <literal>asciidoc</literal>. これまでは、例えば\pset format aalignedを選択しました。 今後これは、asciidocを意味する可能性も等しくあるので、失敗するようになります。

  • Author: Peter Geoghegan <pg@bowt.ie> 2019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column.

    In new btree indexes, the maximum index entry length is reduced by eight bytes, to improve handling of duplicate entries (Peter Geoghegan) 新たなBツリーインデックスでは、重複エントリの処理を改善するため、インデックスエントリの最大長が8バイト減りました。 (Peter Geoghegan)

    This means that a <xref linkend="sql-reindex"/> operation on an index <application>pg_upgrade</application>'d from a previous release could potentially fail. このことは、以前のリリースからpg_upgradeされたインデックスに対するREINDEX操作が潜在的に失敗する可能性あることを意味します。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-21 [bfb456c1b] Improve error reporting for DROP FUNCTION/PROCEDURE/AGGR

    Cause <link linkend="sql-dropfunction"><command>DROP IF EXISTS FUNCTION</command></link>/<literal>PROCEDURE</literal>/<literal>AGGREGATE</literal>/<literal>ROUTINE</literal> to generate an error if no argument list is supplied and there are multiple matching objects (David Rowley) 引数リストが無く、該当するオブジェクトが複数ある場合にDROP IF EXISTS FUNCTION/PROCEDURE/AGGREGATE/ROUTINEがエラーを生成するようにしました。 (David Rowley)

    Also improve the error message in such cases. また、このような場合のエラーメッセージが改善されました。

  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2019-06-16 [6cbfb784c] Rework the pg_statistic_ext catalog 2019-06-16 [aa087ec64] Add pg_stats_ext view for extended statistics

    Split the <link linkend="catalog-pg-statistic-ext"><structname>pg_statistic_ext</structname></link> catalog into two catalogs, and add the <link linkend="view-pg-stats-ext"><structname>pg_stats_ext</structname></link> view of it (Dean Rasheed, Tomas Vondra) pg_statistic_extカタログをふたつのカタログに分割して、そのpg_stats_extビューを追加しました。 (Dean Rasheed, Tomas Vondra)

    This change supports hiding potentially-sensitive statistics data from unprivileged users. この変更は潜在的に機微な統計データを権限のないユーザから隠すのに役立ちます。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-01 [96b00c433] Remove obsolete pg_constraint.consrc column

    Remove obsolete <link linkend="catalog-pg-constraint"><structname>pg_constraint</structname></link>.<structfield>consrc</structfield> column (Peter Eisentraut) もはや用いられないpg_constraint.consrc列を廃止しました。 (Peter Eisentraut)

    This column has been deprecated for a long time, because it did not update in response to other catalog changes (such as column renamings). The recommended way to get a text version of a check constraint's expression from pg_constraint is pg_get_expr(conbin, conrelid). pg_get_constraintdef() is also a useful alternative.

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-01 [fe5038236] Remove obsolete pg_attrdef.adsrc column

    Remove obsolete <link linkend="catalog-pg-attrdef"><structname>pg_attrdef</structname></link>.<structfield>adsrc</structfield> column (Peter Eisentraut) もはや用いられないpg_attrdef.adsrc列を廃止しました。 (Peter Eisentraut)

    This column has been deprecated for a long time, because it did not update in response to other catalog changes (such as column renamings). The recommended way to get a text version of a default-value expression from pg_attrdef is pg_get_expr(adbin, adrelid).

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-19 [586b98fdf] Make type "name" collation-aware. Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-04-05 [478cacb50] Ensure consistent name matching behavior in processSQLNa

    Mark table columns of type <link linkend="datatype-character-special-table">name</link> as having <quote>C</quote> collation by default (Tom Lane, Daniel Vérité) テーブルのname型の列をデフォルトでC照合順序を持つものと印付けしました。

    The comparison operators for data type <type>name</type> can now use any collation, rather than always using <quote>C</quote> collation. To preserve the previous semantics of queries, columns of type <type>name</type> are now explicitly marked as having <quote>C</quote> collation. A side effect of this is that regular-expression operators on <type>name</type> columns will now use the <quote>C</quote> collation by default, not the database collation, to determine the behavior of locale-dependent regular expression patterns (such as <literal>\w</literal>). If you want non-C behavior for a regular expression on a <type>name</type> column, attach an explicit <literal>COLLATE</literal> clause. (For user-defined <type>name</type> columns, another possibility is to specify a different collation at table creation time; but that just moves the non-backwards-compatibility to the comparison operators.) nameデータ型に対する比較演算子は、常にC照合順序を使うのではなく、任意の照合順序を使えるようになりました。 これまでの問い合わせの意味合いを維持するために、name型の列は明示的にC照合順序を持つものと印付けされるようになりました。 この副作用は、(\wなど)ロケール依存の正規表現パターンの動作を決めるにあたり、name列の正規表現演算子がデフォルトでデータベースの照合順序ではなくC照合順序を使うようになることです。 name列の正規表現に対してCでない動作を望むなら、明示的なCOLLATE句を付けてください。 (ユーザ定義のname列に対して他に可能なことはテーブル作成時に異なる照合順序を指定することですが、これは後方非互換性を比較演算子に移したにすぎません。)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-20 [7c15cef86] Base information_schema.sql_identifier domain on name, n 2018-12-20 [5bbee34d9] Avoid producing over-length specific_name outputs in inf 2018-12-18 [6b0faf723] Make collation-aware system catalog columns use "C" coll

    Treat object-name columns in the <link linkend="information-schema"><structname>information_schema</structname></link> views as being of type <type>name</type>, not <type>varchar</type> (Tom Lane) information_schemaのビューでのオブジェクト名の列をvarchar型ではなくname型であるものとみなすようにしました。 (Tom Lane)

    Per the SQL standard, object-name columns in the <structname>information_schema</structname> views are declared as being of domain type <type>sql_identifier</type>. In <productname>PostgreSQL</productname>, the underlying catalog columns are really of type <type>name</type>. This change makes <type>sql_identifier</type> be a domain over <type>name</type>, rather than <type>varchar</type> as before. This eliminates a semantic mismatch in comparison and sorting behavior, which can greatly improve the performance of queries on <structname>information_schema</structname> views that restrict an object-name column. Note however that inequality restrictions, for example SQL標準では、information_schemaのビューでのオブジェクト名の列はドメイン型sql_identifierであるものとして宣言されています。 PostgreSQLでは、元となる実際のカタログ列はname型です。 この変更はsql_identifierをこれまでのvarcharではなくname上のドメインにします。 これにより比較およびソートの動作での意味の不一致を取り除きます。新たな動作はinformation_schemaビューへのオブジェクト名の列を限定する問い合わせの性能を大幅に改善できます。 しかしながら、例えば以下の不等式の限定ではデフォルトで、これまでのデータベースのデフォルト照合ではなく、Cロケールでの照合が使われることに注意してください。

    SELECT ... FROM information_schema.tables WHERE table_name < 'foo';
    

    will now use <quote>C</quote>-locale comparison semantics by default, rather than the database's default collation as before. Sorting on these columns will also follow <quote>C</quote> ordering rules. The previous behavior (and inefficiency) can be enforced by adding a <literal>COLLATE "default"</literal> clause. これらの列のソートもCの順序規則に従うようになります。 これまでの動作(および非効率性)はCOLLATE "default"句を加えることで強制できます。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-07-10 [bcbd94080] Remove dynamic_shared_memory_type=none

    Remove the ability to disable dynamic shared memory (Kyotaro Horiguchi) 動的共有メモリを無効にする機能を廃止しました。 (Kyotaro Horiguchi)

    Specifically, <xref linkend="guc-dynamic-shared-memory-type"/> can no longer be set to <literal>none</literal>. 具体的には、dynamic_shared_memory_typeはもはやnoneに設定できません。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-09-12 [e7a221797] Parse more strictly integer parameters from connection s

    Parse libpq integer connection parameters more strictly (Fabien Coelho)

    In previous releases, using an incorrect integer value for connection parameters connect_timeout, keepalives, keepalives_count, keepalives_idle, keepalives_interval and port resulted in libpq either ignoring those values or failing with incorrect error messages.

E.4.3. 変更点

<title>Changes</title>

Below you will find a detailed account of the changes between <productname>PostgreSQL</productname> 12 and the previous major release. 以下にPostgreSQL 12と前のメジャーリリースとの詳細な変更点を記載します。

E.4.3.1. サーバ

<title>Server</title>
<title><link linkend="ddl-partitioning">Partitioning</link></title>
  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-07 [c6e4133fa] Postpone calculating total_table_pages until after pruni Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-15 [34c9e455d] Improve performance of partition pruning remapping a lit Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2018-11-16 [3f2393ede] Redesign initialization of partition routing structures Author: Robert Haas <rhaas@postgresql.org> 2019-02-21 [9eefba181] Delay lock acquisition for partitions until we route a t Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-30 [428b260f8] Speed up planning when partitions can be pruned at plan

    Improve performance of many operations on partitioned tables (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera) パーティションテーブルに対する各種の操作の性能を改善しました。 (Amit Langote, David Rowley, Tom Lane, Álvaro Herrera)

    Allow tables with thousands of child partitions to be processed efficiently by operations that only affect a small number of partitions. 数千の子パーティションを持つテーブルに対する少数のパーティションにだけ影響する操作を効率的に処理できるようにしました。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-03 [f56f8f8da] Support foreign keys that reference partitioned tables

    Allow <link linkend="ddl-constraints-fk">foreign keys</link> to reference partitioned tables (Álvaro Herrera) 外部キーがパーティションテーブルを参照できるようにしました。 (Álvaro Herrera)

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-08-01 [0d5f05cde] Allow multi-inserts during COPY into a partitioned table

    Improve speed of <command>COPY</command> into partitioned tables (David Rowley) パーティションテーブルへのCOPYの速度を改善しました。 (David Rowley)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-01-25 [7c079d741] Allow generalized expression syntax for partition bounds

    Allow partition bounds to be any expression (Kyotaro Horiguchi, Tom Lane, Amit Langote) パーティション境界を任意の式で指定可能にしました。 (Kyotaro Horiguchi, Tom Lane, Amit Langote)

    Such expressions are evaluated at partitioned-table creation time. Previously, only simple constants were allowed as partition bounds. この式はパーティションテーブル作成時に評価されます。 これまではパーティション境界として単なる定数のみが許されていました。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2018-12-17 [ca4103025] Fix tablespace handling for partitioned tables

    Allow <command>CREATE TABLE</command>'s tablespace specification for a partitioned table to affect the tablespace of its children (David Rowley, Álvaro Herrera) パーティションテーブルのCREATE TABLEでのテーブル空間指定が子に反映されるようにしました。 (David Rowley, Álvaro Herrera)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-04-05 [959d00e9d] Use Append rather than MergeAppend for scanning ordered

    Avoid sorting when partitions are already being scanned in the necessary order (David Rowley) パーティションが既に必要とされる順序でスキャンされているときにソートを避けるようにしました。 (David Rowley)

  • Author: Robert Haas <rhaas@postgresql.org> 2019-03-07 [898e5e329] Allow ATTACH PARTITION with only ShareUpdateExclusiveLoc

    <link linkend="sql-altertable"><command>ALTER TABLE ATTACH PARTITION</command></link> is now performed with reduced locking requirements (Robert Haas) ALTER TABLE ATTACH PARTITIONの実行で必要なロックが減りました。 (Robert Haas)

  • Author: Michael Paquier <michael@paquier.xyz> 2019-02-08 [3677a0b26] Add pg_partition_root to display top-most parent of a pa Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-04 [b96f6b194] pg_partition_ancestors Author: Michael Paquier <michael@paquier.xyz> 2018-10-30 [d5eec4eef] Add pg_partition_tree to display information about parti

    Add partition introspection functions (Michaël Paquier, Álvaro Herrera, Amit Langote) パーティションの内部観察の関数を追加しました。 (Michaël Paquier, Álvaro Herrera, Amit Langote)

    The new function <link linkend="functions-info-partition"><function>pg_partition_root()</function></link> returns the top-most parent of a partition tree, <link linkend="functions-info-partition"><function>pg_partition_ancestors()</function></link> reports all ancestors of a partition, and <link linkend="functions-info-partition"><function>pg_partition_tree()</function></link> displays information about partitions. 新たな関数のpg_partition_root()はパーティションツリーの最上位の親を返し、pg_partition_ancestors()は全ての先祖パーティションを報告し、また、pg_partition_tree()はパーティションに関する情報を出力します。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-12-18 [f94cec644] Include partitioned indexes to system view pg_indexes

    Include partitioned indexes in the system view <link linkend="view-pg-indexes"><structname>pg_indexes</structname></link> (Suraj Kharage) システムビューpg_indexesにパーティションインデックスを含めるようにしました。 (Suraj Kharage)

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-07 [1c5d9270e] psql \dP: list partitioned tables and indexes

    Add <application>psql</application> command <command>\dP</command> to list partitioned tables and indexes (Pavel Stehule) パーティションテーブルとパーティションインデックスを一覧表示するpsqlのコマンド\dPを追加しました。 (Pavel Stehule)

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2018-11-19 [d56e0fde8] psql: Describe partitioned tables/indexes as such Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-26 [1af25ca0c] Improve psql's \d display of foreign key constraints Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-17 [b036982db] psql: display tablespace for partitioned indexes

    Improve <application>psql</application> <command>\d</command> and <command>\z</command> display of partitioned tables (Pavel Stehule, Michaël Paquier, Álvaro Herrera) psql\dおよび\zのパーティションテーブルの表示を改善しました。 (Pavel Stehule, Michaël Paquier, Álvaro Herrera)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-02-11 [1d92a0c9f] Redesign the partition dependency mechanism.

    Fix bugs that could cause <command>ALTER TABLE DETACH PARTITION</command> to leave behind incorrect dependency state, allowing subsequent operations to misbehave, for example by not dropping a former partition child index when its table is dropped (Tom Lane) ALTER TABLE DETACH PARTITIONが誤った依存状態を取り残し、例えばテーブルを削除したとき以前のパーティション子インデックスを削除しないことで、続く操作で誤動作をひき起こすおそれのあるバグを修正しました。 (Tom Lane)

E.4.3.1.2. インデックス
<title>Indexes</title>
  • Author: Peter Geoghegan <pg@bowt.ie> 2019-03-20 [dd299df81] Make heap TID a tiebreaker nbtree index column. Author: Peter Geoghegan <pg@bowt.ie> 2019-03-20 [fab250243] Consider secondary factors during nbtree splits. Author: Peter Geoghegan <pg@bowt.ie> 2019-03-25 [f21668f32] Add "split after new tuple" nbtree optimization.

    Improve performance and space utilization of btree indexes with many duplicates (Peter Geoghegan, Heikki Linnakangas) 重複を多く持つBツリーインデックスの性能と空間利用を改善しました。 (Peter Geoghegan, Heikki Linnakangas)

    Previously, duplicate index entries were stored unordered within their duplicate groups. This caused overhead during index inserts, wasted space due to excessive page splits, and it reduced <command>VACUUM</command>'s ability to recycle entire pages. Duplicate index entries are now sorted in heap-storage order. これまでは重複したインデックス項目は重複グループ内で順序付けされずに格納されていました。 これによりインデックス挿入でオーバーヘッド、過度なページ分割による空間の浪費、 および、VACUUMのページ全体を再利用する能力の縮減をひき起こしました。 重複したインデックスエントリはこれからはヒープ格納順にソートされます

    Indexes <application>pg_upgrade</application>'d from previous releases will not have these benefits. 以前のリリースからpg_upgradeされたインデックスは、この恩恵がありません。

  • see commits above

    Allow multi-column btree indexes to be smaller (Peter Geoghegan, Heikki Linnakangas) 複数列のBツリーインデックスを小さくできるようにしました。 (Peter Geoghegan, Heikki Linnakangas)

    Internal pages and min/max leaf page indicators now only store index keys until the change key, rather than all indexed keys. This also improves the locality of index access. 内部ページと最大/最小リーフページのインジケータに、全てのインデックスキーではなく、変化するキーまでのインデックスキーのみが格納されるようになります。 これはインデックスアクセスの局所性も改善します。

    Indexes <application>pg_upgrade</application>'d from previous releases will not have these benefits. 以前のリリースからpg_upgradeされたインデックスは、この恩恵がありません。

  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2018-07-28 [d2086b08b] Reduce path length for locking leaf B-tree pages during

    Improve speed of btree index insertions by reducing locking overhead (Alexander Korotkov) ロックのオーバーヘッド軽減によりBツリーインデックスの挿入速度を改善しました。 (Alexander Korotkov)

  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2019-03-10 [f2e403803] Support for INCLUDE attributes in GiST indexes

    Support <link linkend="indexes-index-only-scans"><literal>INCLUDE</literal></link> columns in <link linkend="gist">GiST</link> indexes (Andrey Borodin) GiSTインデックスがINCLUDE列に対応しました。 (Andrey Borodin)

  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2018-09-19 [2a6368343] Add support for nearest-neighbor (KNN) searches to SP-Gi

    Add support for nearest-neighbor (<acronym>KNN</acronym>) searches of <link linkend="spgist">SP-GiST</link> indexes (Nikita Glukhov, Alexander Korotkov, Vlad Sterzhanov) SP-GiSTインデックスの最近傍(KNN)探索の対応を追加しました。 (Nikita Glukhov, Alexander Korotkov, Vlad Sterzhanov)

  • Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2019-04-03 [9155580fd] Generate less WAL during GiST, GIN and SP-GiST index bui

    Reduce the <acronym>WAL</acronym> write overhead of <acronym>GiST</acronym>, <acronym>GIN</acronym>, and <acronym>SP-GiST</acronym> index creation (Anastasia Lubennikova, Andrey V. Lepikhov) GiSTGIN、および、SP-GiSTインデックス作成のWAL書き込みのオーバーヘッドを削減しました。 (Anastasia Lubennikova, Andrey V. Lepikhov)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-03 [80b9e9c46] Improve performance of index-only scans with many index

    Allow index-only scans to be more efficient on indexes with many columns (Konstantin Knizhnik) 多数の列を持つインデックスに対するインデックスオンリースキャンをより効率的にしました。 (Konstantin Knizhnik)

  • Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2019-03-05 [fe280694d] Scan GiST indexes in physical order during VACUUM.

    Improve the performance of vacuum scans of GiST indexes (Andrey Borodin, Konstantin Kuznetsov, Heikki Linnakangas) GiSTインデックスのバキューム走査の性能を改善しました。 (Andrey Borodin, Konstantin Kuznetsov, Heikki Linnakangas)

  • Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2019-03-22 [7df159a62] Delete empty pages during GiST VACUUM.

    Delete empty leaf pages during <acronym>GiST</acronym> <command>VACUUM</command> (Andrey Borodin) GiSTVACUUM時に、空リーフページを削除するようにしました。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-14 [1b5d797cd] Lower lock level for renaming indexes

    Reduce locking requirements for index renaming (Peter Eisentraut) インデックス改名で必要なロック取得を削減しました。 (Peter Eisentraut)

E.4.3.1.3. オプティマイザ
<title>Optimizer</title>
  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2019-03-27 [7300a6995] Add support for multivariate MCV lists Author: Tomas Vondra <tomas.vondra@postgresql.org> 2019-03-27 [a63b29a1d] Minor improvements for the multivariate MCV lists

    Allow <xref linkend="sql-createstatistics"/> to create most-common-value statistics for multiple columns (Tomas Vondra) CREATE STATISTICSが複数列に対する最頻値統計を作成できるようにしました。

    This improves optimization for queries that test several columns, requiring an estimate of the combined effect of several <literal>WHERE</literal> clauses. If the columns are correlated and have non-uniform distributions then multi-column statistics will allow much better estimates. これは、複数列を検査して、いくつかのWHERE句の複合効果の見積りを要する問い合わせの最適化を改善します。 これら列が相関していて、一様に分布していない場合、複数列統計がずっと良い見積りを可能にするはずです。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-02-16 [608b167f9] Allow user control of CTE materialization, and change th Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-04-09 [947613127] Prevent inlining of multiply-referenced CTEs with outer

    Allow <link linkend="queries-with">common table expressions</link> (<acronym>CTEs</acronym>) to be inlined into the outer query (Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane) 共通テーブル式(common table expressions, CTEs)を外側の問い合わせにインライン化できるようにしました。 (Andreas Karlsson, Andrew Gierth, David Fetter, Tom Lane)

    Specifically, <acronym>CTE</acronym>s are automatically inlined if they have no side-effects, are not recursive, and are referenced only once in the query. Inlining can be prevented by specifying <literal>MATERIALIZED</literal>, or forced for multiply-referenced <acronym>CTE</acronym>s by specifying <literal>NOT MATERIALIZED</literal>. Previously, <acronym>CTE</acronym>s were never inlined and were always evaluated before the rest of the query. 具体的には、CTEは副作用が無く、再帰ではなく、問い合わせ中で一度だけ参照されているなら、自動的にインライン化されます。 インライン化は、MATERIALIZEDを指定することで防止でき、また、NOT MATERIALIZEDを指定することで複数回参照されているCTEに対して強制することができます。 これまでは、CTEは決してインライン化されず、常に残りの問い合わせよりも前に評価されていました。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-07-16 [f7cb2842b] Add plan_cache_mode setting

    Allow control over when generic plans are used for prepared statements (Pavel Stehule) 準備された文に汎用的な計画をいつ使うかを制御できるようにしました。 (Pavel Stehule)

    This is controlled by the <xref linkend="guc-plan-cache_mode"/> server parameter. これはplan_cache_modeサーバパラメータで制御されます。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-25 [8edd0e794] Suppress Append and MergeAppend plan nodes that have a s

    Improve optimization of partition and <literal>UNION ALL</literal> queries that have only a single child (David Rowley) 一つしか子を持たない、パーティションとUNION ALLの問い合わせの最適化を改善しました。 (David Rowley)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-13 [04fe805a1] Drop no-op CoerceToDomain nodes from expressions at plan

    Improve processing of <link linkend="domains">domains</link> that have no check constraints (Tom Lane) チェック制約を持たないドメインの処理を改善しました。 (Tom Lane)

    Domains that are being used purely as type aliases no longer cause optimization difficulties. これからは純粋に型の別名として使われているドメインが最適化に支障をきたすことがなくなります。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-30 [6f19a8c41] Teach eval_const_expressions to constant-fold LEAST/GREA

    Pre-evaluate calls of <link linkend="functions-greatest-least"><literal>LEAST</literal></link> and <literal>GREATEST</literal> when their arguments are constants (Vik Fearing) LEASTGREATESTの呼び出しを引数が定数のときには事前評価するようにしました。 (Vik Fearing)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-02-20 [e04a3905e] Improve planner's understanding of strictness of type co 2019-03-01 [65ce07e02] Teach optimizer's predtest.c more things about ScalarArr

    Improve optimizer's ability to verify that partial indexes with <literal>IS NOT NULL</literal> conditions are usable in queries (Tom Lane, James Coleman) 問い合わせでIS NOT NULL条件を持つ部分インデックスが使えるかについて、オプティマイザの検証能力を改善しました。 (Tom Lane, James Coleman)

    Usability can now be recognized in more cases where the calling query involves casts or large <literal><replaceable>x</replaceable> IN (<replaceable>array</replaceable>)</literal> clauses. キャストや大きなx IN (array)句を伴う問い合わせを呼び出すときに、より多くの場合で利用可能性を確認できるようになりました。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-14 [5e0928005] Make pg_statistic and related code account more honestly

    Compute <command>ANALYZE</command> statistics using the collation defined for each column (Tom Lane) ANALYZE統計情報を各列に定義された照合順序を用いて計算するようにしました。 (Tom Lane)

    Previously, the database's default collation was used for all statistics. This potentially gives better optimizer behavior for columns with non-default collations. これまでは全ての統計情報にデータベースのデフォルト照合順序が使われていました。 この修正はデフォルト照合順序でない列に対して、潜在的により良いオプティマイザ動作をもたらします。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-25 [f7111f72d] Improve planner's selectivity estimates for inequalities

    Improve selectivity estimates for inequality comparisons on <link linkend="ddl-system-columns"><structfield>ctid</structfield></link> columns (Edmund Horner) ctid列の不等比較について選択性の見積りを改善しました。 (Edmund Horner)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-30 [b5415e3c2] Support parameterized TidPaths. Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-30 [0a6ea4001] Add a hash opclass for type "tid".

    Improve optimization of joins on columns of type <link linkend="datatype-oid"><type>tid</type></link> (Tom Lane) tid型列の結合の最適化を改善しました。 (Tom Lane)

    These changes primarily improve the efficiency of self-joins on <structfield>ctid</structfield> columns. この変更は主としてctid列による自己結合の効率性を改善します。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-07-11 [39a96512b] Mark built-in btree comparison functions as leakproof wh 2019-09-21 [d9110d7e1] Straighten out leakproofness markings on text comparison

    Fix the leakproofness designations of some btree comparison operators and support functions (Tom Lane) いくつかのbtreeの比較演算子とサポート関数のリーク防止指定を修正しました。 (Tom Lane)

    This allows some optimizations that previously would not have been applied in the presence of security barrier views or row-level security. これは、これまでセキュリティバリアや行レベルセキュリティの存在で適用されなかった最適化を可能にします。

E.4.3.1.4. 性能全般
<title>General Performance</title>
  • Author: Bruce Momjian <bruce@momjian.us> 2018-09-21 [1f7fc7670] doc: JIT is enabled by default in PG 12

    Enable <link linkend="jit">Just-in-Time</link> (<acronym>JIT</acronym>) compilation by default, if the server has been built with support for it (Andres Freund) サーバが実行時(Just-in-Time, JIT)コンパイルに対応してビルドされている場合、これをデフォルトで有効にしました。 (Andres Freund)

    Note that this support is not built by default, but has to be selected explicitly while configuring the build. JIT対応はデフォルトではビルドされず、ビルド設定時に明示的に選択する必要があることに注意してください。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-01-06 [afb0d0712] Replace the data structure used for keyword lookup. Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-01-09 [c64d0cd5c] Use perfect hashing, instead of binary search, for keywo

    Speed up keyword lookup (John Naylor, Joerg Sonnenberger, Tom Lane) キーワードの検索を高速化しました。 (John Naylor, Joerg Sonnenberger, Tom Lane)

  • Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2019-01-25 [9556aa01c] Use single-byte Boyer-Moore-Horspool search even with mu

    Improve search performance for multi-byte characters in <function>position()</function> and related functions (Heikki Linnakangas) position()と関連の関数でマルチバイト文字に対して検索性能を改善しました。 (Heikki Linnakangas)

  • Author: Stephen Frost <sfrost@snowman.net> 2019-04-02 [4d0e994ee] Add support for partial TOAST decompression

    Allow <link linkend="storage-toast">toasted</link> values to be minimally decompressed (Paul Ramsey) TOASTされた値が最小限に展開されるようにしました。 (Paul Ramsey)

    This is useful for routines that only need to examine the initial portion of a toasted field. これはTOASTされたフィールドの最初の部分だけ検査する必要のある処理に役立ちます。

  • Author: Robert Haas <rhaas@postgresql.org> 2019-03-13 [bbb96c370] Allow ALTER TABLE .. SET NOT NULL to skip provably unnec

    Allow <link linkend="sql-altertable"><command>ALTER TABLE ... SET NOT NULL</command></link> to avoid unnecessary table scans (Sergei Kornilov) ALTER TABLE ... SET NOT NULLが不要なテーブル走査を避けることができるようにしました。 (Sergei Kornilov)

    This can be optimized when the table's column constraints can be recognized as disallowing nulls. テーブルの列制約がNULLを禁止していると認識できるとき、これにより最適化できます。

  • Author: Noah Misch <noah@leadboat.com> 2019-03-08 [3c5926301] Avoid some table rewrites for ALTER TABLE .. SET DATA TY

    Allow <command>ALTER TABLE ... SET DATA TYPE</command> changing between <type>timestamp</type> and <type>timestamptz</type> to avoid a table rewrite when the session time zone is <acronym>UTC</acronym> (Noah Misch) セッションのタイムゾーンがUTCであるとき、timestamptimestamptzを変更するALTER TABLE ... SET DATA TYPEがテーブル書き換えを回避できるようにしました。 (Noah Misch)

    In the <acronym>UTC</acronym> time zone, these two data types are binary compatible. UTCタイムゾーンではこれらのデータ型はバイナリです。

  • Author: Andres Freund <andres@anarazel.de> 2018-07-22 [86eaf208e] Hand code string to integer conversion for performance.

    Improve speed in converting strings to <type>int2</type> or <type>int4</type> integers (Andres Freund) 文字列からint2またはint4整数への変換の速度を改善しました。

  • Author: Thomas Munro <tmunro@postgresql.org> 2019-03-15 [bb16aba50] Enable parallel query with SERIALIZABLE isolation.

    Allow parallelized queries when in <link linkend="xact-serializable"><literal>SERIALIZABLE</literal></link> isolation mode (Thomas Munro) SERIALIZABLE隔離モードで並列問い合わせを可能にしました。 (Thomas Munro)

    Previously, parallelism was disabled when in this mode. これまではこのモードでは並列動作ができませんでした。

  • Author: Thomas Munro <tmunro@postgresql.org> 2018-11-07 [3fd2a7932] Provide pg_pread() and pg_pwrite() for random I/O. Author: Thomas Munro <tmunro@postgresql.org> 2018-11-07 [c24dcd0cf] Use pg_pread() and pg_pwrite() for data files and WAL.

    Use <function>pread()</function> and <function>pwrite()</function> for random I/O (Oskari Saarenmaa, Thomas Munro) ランダムI/Oにpread()pwrite()を使うようにしました。 (Oskari Saarenmaa, Thomas Munro)

    This reduces the number of system calls required for I/O. これはI/Oで必要なシステムコールの数を減らします。

  • Author: Thomas Munro <tmunro@postgresql.org> 2018-07-24 [1bc180cd2] Use setproctitle_fast() to update the ps status, if avai

    Improve the speed of setting the <link linkend="guc-update-process-title">process title</link> on <systemitem class="osname">FreeBSD</systemitem> (Thomas Munro) FreeBSDにおけるprocess title設定の速度を改善しました。 (Thomas Munro)

E.4.3.1.5. モニタリング
<title>Monitoring</title>
  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-03 [799e22034] Log all statements from a sample of transactions

    Allow logging of statements from only a percentage of transactions (Adrien Nayrat) トランザクションの内、ある割合だけ文をログ出力をできるようにしました。 (Adrien Nayrat)

    The parameter <xref linkend="guc-log-transaction-sample-rate"/> controls this. パラメータlog_transaction_sample_rateで制御します。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-02 [ab0dfc961] Report progress of CREATE INDEX operations Author: Peter Eisentraut <peter@eisentraut.org> 2019-04-07 [03f9e5cba] Report progress of REINDEX operations

    Add progress reporting to <command>CREATE INDEX</command> and <command>REINDEX</command> operations (Álvaro Herrera, Peter Eisentraut) CREATE INDEXおよびREINDEX操作の進捗報告を追加しました。 (Álvaro Herrera, Peter Eisentraut)

    Progress is reported in the <link linkend="create-index-progress-reporting"><structname>pg_stat_progress_create_index</structname></link> system view. 進捗はpg_stat_progress_create_indexシステムビューで報告されます。

  • Author: Robert Haas <rhaas@postgresql.org> 2019-03-25 [6f97457e0] Add progress reporting for CLUSTER and VACUUM FULL.

    Add progress reporting to <command>CLUSTER</command> and <command>VACUUM FULL</command> (Tatsuro Yamada) CLUSTERVACUUM FULLの進捗報告を追加しました。 (Tatsuro Yamada)

    Progress is reported in the <link linkend="cluster-progress-reporting"><structname>pg_stat_progress_cluster</structname></link> system view. 進捗はpg_stat_progress_clusterシステムビューで報告されます。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-04-02 [280e5f140] Add progress reporting to pg_checksums

    Add progress reporting to <xref linkend="app-pgchecksums"/> (Michael Banck, Bernd Helmle) pg_checksumsの進捗報告を追加しました。 (Michael Banck, Bernd Helmle)

    This is enabled with the option <option>-&#045;progress</option>. これはオプション--progressで有効になります。

  • Author: Magnus Hagander <magnus@hagander.net> 2019-03-09 [6b9e875f7] Track block level checksum failures in pg_stat_database

    Add counter of checksum failures to <structname>pg_stat_database</structname> (Magnus Hagander) pg_stat_databaseにチェックサム障害のカウンターを追加しました。 (Magnus Hagander)

  • Author: Magnus Hagander <magnus@hagander.net> 2019-04-12 [77bd49adb] Show shared object statistics in pg_stat_database

    Add tracking of global objects in system view <structname>pg_stat_database</structname> (Julien Rouhaud) システムビューpg_stat_databaseにグローバルオブジェクトの追跡を追加しました。 (Julien Rouhaud)

    Global objects are shown with a <link linkend="pg-stat-database-view"><structname>pg_stat_database</structname></link>.<structfield>datid</structfield> value of zero. グローバルオブジェクトはゼロのpg_stat_database.datid値と共に表示されます。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-10-09 [c48101620] Add pg_ls_archive_statusdir function

    Add the ability to list the contents of the archive directory (Christoph Moench-Tegeder) アーカイブディレクトリの内容を一覧できるようにしました。 (Christoph Moench-Tegeder)

    The function is <link linkend="functions-admin-genfile-table"><function>pg_ls_archive_statusdir()</function></link>. その関数はpg_ls_archive_statusdir()です。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-10-05 [9cd92d1a3] Add pg_ls_tmpdir function

    Add the ability to list the contents of temporary directories (Nathan Bossart) 一時ディレクトリの内容を一覧できるようにしました。 (Nathan Bossart)

    The function, <link linkend="functions-admin-genfile-table"><function>pg_ls_tmpdir()</function></link>, optionally allows specification of a tablespace. その関数pg_ls_tmpdir()は、オプションでテーブル空間を指定できます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-02-01 [f60a0e967] Add more columns to pg_stat_ssl

    Add information about the client certificate to the system view <link linkend="pg-stat-ssl-view"><structname>pg_stat_ssl</structname></link> (Peter Eisentraut) システムビューpg_stat_sslにクライアント認証の情報を追加しました。 (Peter Eisentraut)

    The new columns are <structfield>client_serial</structfield> and <structfield>issuer_dn</structfield>. Column <structfield>clientdn</structfield> has been renamed to <structfield>client_dn</structfield> for clarity. 新たな列はclient_serialissuer_dnです。 明確化のため、列clientdnclient_dnに改名されました。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-02-21 [f9692a769] Hide other user's pg_stat_ssl rows

    Restrict visibility of rows in <structname>pg_stat_ssl</structname> for unprivileged users (Peter Eisentraut) pg_stat_sslで権限のないユーザに対する行の可視性を厳格化しました。 (Peter Eisentraut)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-01-30 [689d15e95] Log PostgreSQL version number on startup

    At server start, emit a log message including the server version number (Christoph Berg) サーバ起動時にサーバのバージョン番号を含むログメッセージを出力するようにしました。 (Christoph Berg)

  • Author: Andrew Dunstan <andrew@dunslane.net> 2019-03-06 [342cb650e] Don't log incomplete startup packet if it's empty

    Prevent logging <quote>incomplete startup packet</quote> if a new connection is immediately closed (Tom Lane) 新たな接続がすぐに切断された場合のincomplete startup packetログ出力を防止しました。 (Tom Lane)

    This avoids log spam from certain forms of monitoring. これには、ある種の形態のモニタリングによるログスパムを回避します。

  • Author: Stephen Frost <sfrost@snowman.net> 2018-09-28 [8bddc8640] Add application_name to connection authorized msg

    Include the <xref linkend="guc-application-name"/>, if set, in <xref linkend="guc-log-connections"/> log messages (Don Seiler) log_connectionsログメッセージに、もし設定されているならapplication_nameを含めるようにしました。 (Don Seiler)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-02-27 [6ae578a91] Set fallback_application_name for a walreceiver to clust

    Make the walreceiver set its application name to the cluster name, if set (Peter Eisentraut) walreceiverがそのアプリケーション名に、設定されているならクラスタ名を設定するようにしました。 (Peter Eisentraut)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-12-09 [7fee252f6] Add timestamp of last received message from standby to p

    Add the timestamp of the last received standby message to <link linkend="pg-stat-replication-view"><structname>pg_stat_replication</structname></link> (Lim Myungkyu) pg_stat_replicationに最後に受け取ったスタンバイのメッセージのタイムスタンプを加えました。 (Lim Myungkyu)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-07-02 [c55de5e51] Add wait event for fsync of WAL segments

    Add a <link linkend="wait-event-table">wait event</link> for fsync of <acronym>WAL</acronym> segments (Konstantin Knizhnik) WALセグメントのfsyncに対する待機イベントを加えました。 (Konstantin Knizhnik)

E.4.3.1.6. 認証
<title><acronym>Authentication</acronym></title>
  • Author: Stephen Frost <sfrost@snowman.net> 2019-04-03 [b0b39f72b] GSSAPI encryption support

    Add <link linkend="gssapi-auth"><acronym>GSSAPI</acronym></link> encryption support (Robbie Harwood, Stephen Frost) GSSAPIの暗号化に対応しました。 (Robbie Harwood, Stephen Frost)

    This feature allows TCP/IP connections to be encrypted when using GSSAPI authentication, without having to set up a separate encryption facility such as SSL. In support of this, add <literal>hostgssenc</literal> and <literal>hostnogssenc</literal> record types in <link linkend="auth-pg-hba-conf"><filename>pg_hba.conf</filename></link> for selecting connections that do or do not use GSSAPI encryption, corresponding to the existing <literal>hostssl</literal> and <literal>hostnossl</literal> record types. There is also a new <xref linkend="libpq-connect-gssencmode"/> libpq option, and a <xref linkend="pg-stat-gssapi-view"/> system view. この機能により、GSSAPI認証を使用するときにTCP/IP接続を暗号化できます。 SSLなどの別の暗号化機能を設定する必要はありません。 本対応では、GSSAPI暗号化を使用する接続かしない接続かを選択するためにpg_hba.confhostgssenchostnogssencのレコードタイプを追加しました。既存のhostsslhostnosslレコードタイプに相当するものです。 また、gssencmode libpqオプションとpg_stat_gssapiシステムビューも加わりました。

  • Author: Magnus Hagander <magnus@hagander.net> 2019-03-09 [0516c61b7] Add new clientcert hba option verify-full

    Allow the <link linkend="auth-cert"><literal>clientcert</literal></link> <filename>pg_hba.conf</filename> option to check that the database user name matches the client certificate's common name (Julian Markwort, Marius Timmer) pg_hba.confclientcertオプションにより、データベースユーザ名がクライアント証明書のコモンネームと一致するか検査できるようにしました。 (Julian Markwort, Marius Timmer)

    This new check is enabled with <literal>clientcert=verify-full</literal>. 新たな検査はclientcert=verify-fullで有効になります。

  • Author: Thomas Munro <tmunro@postgresql.org> 2019-03-21 [0f086f84a] Add DNS SRV support for LDAP server discovery.

    Allow discovery of an <link linkend="auth-ldap"><acronym>LDAP</acronym></link> server using <acronym>DNS SRV</acronym> records (Thomas Munro) DNS SRVレコードを使ってLDAPサーバの検出をできるようにしました。 (Thomas Munro)

    This avoids the requirement of specifying <literal>ldapserver</literal>. It is only supported if <productname>PostgreSQL</productname> is compiled with <productname>OpenLDAP</productname>. これによりldapserverを指定する必要がなくなります。 PostgreSQLOpenLDAPと共にコンパイルされている場合のみサポートされます。

E.4.3.1.7. サーバ設定
<title>Server Configuration</title>
  • Author: Michael Paquier <michael@paquier.xyz> 2019-03-23 [ed308d783] Add options to enable and disable checksums in pg_checks

    Add ability to enable/disable cluster checksums using <xref linkend="app-pgchecksums"/> (Michael Banck, Michaël Paquier) pg_checksumsを使ってクラスタのチェックサムを有効/無効にできるようにしました。 (Michael Banck, Michaël Paquier)

    The cluster must be shut down for these operations. これらの操作のためにクラスタを停止しなければなりません。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-10 [cbccac371] Reduce the default value of autovacuum_vacuum_cost_delay

    Reduce the default value of <xref linkend="guc-autovacuum-vacuum-cost-delay"/> to 2ms (Tom Lane) autovacuum_vacuum_cost_delayのデフォルト値を2msに減らしました。 (Tom Lane)

    This allows autovacuum operations to proceed faster by default. これによりデフォルトで自動VACUUMの処理がより早く進行できます。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi

    Allow <xref linkend="guc-vacuum-cost-delay"/> to specify sub-millisecond delays, by accepting fractional values (Tom Lane) vacuum_cost_delayで小数点以下を受け入れ、ミリ秒以下の遅延を指定できるようにしました。 (Tom Lane)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi

    Allow time-based server parameters to use units of <link linkend="config-setting">microseconds</link> (<literal>us</literal>) (Tom Lane) 時間に基づくサーバパラメータでマイクロ秒 (us)単位を使えるようにしました。 (Tom Lane)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-11 [1a83a80a2] Allow fractional input values for integer GUCs, and impr

    Allow fractional input for integer server parameters (Tom Lane) 整数サーバパラメータに対して小数点以下の入力を可能にしました。 (Tom Lane)

    For example, <command>SET work_mem = '30.1GB'</command> is now allowed, even though <varname>work_mem</varname> is an integer parameter. The value will be rounded to an integer after any required units conversion. 例えば、work_memは整数パラメータですがSET work_mem = '30.1GB'が可能になりました。 値は必要とされる単位変換後に整数に丸められます。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-10 [caf626b2c] Convert [autovacuum_]vacuum_cost_delay into floating-poi

    Allow units to be defined for floating-point server parameters (Tom Lane) 浮動小数点のサーバパラメータに単位を定義できるようにしました。 (Tom Lane)

  • Author: Thomas Munro <tmunro@postgresql.org> 2019-04-02 [475861b26] Add wal_recycle and wal_init_zero GUCs.

    Add <xref linkend="guc-wal-recycle"/> and <xref linkend="guc-wal-init-zero"/> server parameters to control <acronym>WAL</acronym> file recycling (Jerry Jelinek) WALファイルの再利用を制御するサーバパラメータwal_recyclewal_init_zeroを追加しました。 (Jerry Jelinek)

    Avoiding file recycling can be beneficial on copy-on-write file systems like <productname>ZFS</productname>. ファイル再利用を回避することはZFSのようなコピーオンライトのファイルシステムで有益です。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se

    Add server parameter <xref linkend="guc-tcp-user-timeout"/> to control the server's <acronym>TCP</acronym> timeout (Ryohei Nagaura) サーバのTCPタイムアウトを制御するサーバパラメータtcp_user_timeoutを追加しました。 (Ryohei Nagaura)

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-20 [e73e67c71] Add settings to control SSL/TLS protocol version

    Allow control of the minimum and maximum <acronym>SSL</acronym> protocol versions (Peter Eisentraut) SSLプロトコルバージョンの最小と最大を制御できるようにしました。 (Peter Eisentraut)

    The server parameters are <xref linkend="guc-ssl-min-protocol-version"/> and <xref linkend="guc-ssl-max-protocol-version"/>. このサーバパラメータはssl_min_protocol_versionssl_max_protocol_versionです。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-07-30 [98efa76fe] Add ssl_library preset parameter

    Add server parameter <xref linkend="guc-ssl-library"/> to report the <acronym>SSL</acronym> library version used by the server (Peter Eisentraut) サーバで使われているSSLライブラリバージョンを報告するサーバパラメータssl_libraryを追加しました。 (Peter Eisentraut)

  • Author: Thomas Munro <tmunro@postgresql.org> 2019-02-03 [f1bebef60] Add shared_memory_type GUC.

    Add server parameter <xref linkend="guc-shared-memory-type"/> to control the type of shared memory to use (Andres Freund) 使用する共有メモリの方式を制御するサーバパラメータshared_memory_typeを追加しました。 (Andres Freund)

    This allows selection of <productname>System V</productname> shared memory, if desired. これにより、望むならSystem V共有メモリを選択できます。

E.4.3.2. ストリーミングレプリケーションとリカバリ

<title>Streaming Replication and Recovery</title>
  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-02-07 [13b89f96d] Allow some recovery parameters to be changed with reload

    Allow some recovery parameters to be changed with reload (Peter Eisentraut) いくつかのリカバリパラメータをリロードで変更できるようにしました。

    These parameters are <xref linkend="guc-archive-cleanup-command"/>, <xref linkend="guc-promote-trigger-file"/>, <xref linkend="guc-recovery-end-command"/>, and <xref linkend="guc-recovery-min-apply-delay"/>. 該当のパラメータはarchive_cleanup_commandpromote_trigger_filerecovery_end_command、および、recovery_min_apply_delayです。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-09-22 [db361db2f] Make GUC wal_sender_timeout user-settable

    Allow the streaming replication timeout (<xref linkend="guc-wal-sender-timeout"/>) to be set per connection (Takayuki Tsunakawa) ストリーミングレプリケーションのタイムアウト(wal_sender_timeout)を接続毎に設定できるようにしました。 (Takayuki Tsunakawa)

    Previously, this could only be set cluster-wide. これまでは、クラスタ全体むけにのみ設定できました。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-10-25 [10074651e] Add pg_promote function Author: Michael Paquier <michael@paquier.xyz> 2018-11-06 [8f045e242] Switch pg_promote to be parallel-safe

    Add function <link linkend="functions-recovery-control"><function>pg_promote()</function></link> to promote standbys to primaries (Laurenz Albe, Michaël Paquier) スタンバイをプライマリに昇格させる関数pg_promote()を追加しました。 (Laurenz Albe, Michaël Paquier)

    Previously, this operation was only possible by using <xref linkend="app-pg-ctl"/> or creating a trigger file. これまでは、昇格させるにはpg_ctlを使うかトリガファイルを作る必要がありました。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-04-05 [9f06d79ef] Add facility to copy replication slots

    Allow replication slots to be copied (Masahiko Sawada) レプリケーションスロットをコピーできるようにしました。 (Masahiko Sawada)

    The functions for this are <link linkend="functions-replication-table"><function>pg_copy_physical_replication_slot()</function></link> and <function>pg_copy_logical_replication_slot()</function>. このための関数はpg_copy_physical_replication_slot()pg_copy_logical_replication_slot()です。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-02-12 [ea92368cd] Move max_wal_senders out of max_connections for connecti

    Make <xref linkend="guc-max-wal-senders"/> not count as part of <xref linkend="guc-max-connections"/> (Alexander Kukushkin) max_wal_sendersmax_connectionsの一部として数えないようにしました。 (Alexander Kukushkin)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-01-11 [ff8530605] Add value 'current' for recovery_target_timeline

    Add an explicit value of <literal>current</literal> for <xref linkend="guc-recovery-target-timeline"/> (Peter Eisentraut) recovery_target_timelineに対する明示的なcurrent値を追加しました。 (Peter Eisentraut)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-09-07 [8582b4d04] Improve handling of corrupted two-phase state files at r

    Make recovery fail if a <link linkend="sql-prepare-transaction">two-phase transaction</link> status file is corrupt (Michaël Paquier) 二相トランザクションの状態ファイルが壊れている場合に、リカバリが失敗するようにしました。 (Michaël Paquier)

    Previously, a warning was logged and recovery continued, allowing the transaction to be lost. これまでは、警告がログ出力されつつリカバリは継続されて、トランザクション損失のおそれがありました。

E.4.3.3. ユーティリティコマンド

<title>Utility Commands</title>
  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-29 [5dc92b844] REINDEX CONCURRENTLY

    Add <xref linkend="sql-reindex"/> <literal>CONCURRENTLY</literal> option to allow reindexing without locking out writes (Michaël Paquier, Andreas Karlsson, Peter Eisentraut) 書き込みをロック締め出ししないインデックス再構築を可能にするREINDEXCONCURRENTLYオプションを追加しました。 (Michaël Paquier, Andreas Karlsson, Peter Eisentraut)

    This is also controlled by the <xref linkend="app-reindexdb"/> application's <option>-;&#045;concurrently</option> option. これはreindexdbアプリケーションの--concurrentlyオプションでも制御できます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-30 [fc22b6623] Generated columns

    Add support for <link linkend="ddl-generated-columns">generated columns</link> (Peter Eisentraut) 生成列をサポートしました。 (Peter Eisentraut)

    The content of generated columns are computed from expressions (including references to other columns in the same table) rather than being specified by <command>INSERT</command> or <command>UPDATE</command> commands. 生成列の内容は、INSERTUPDATEコマンドで指定されるのではなく、(同テーブルの他の列の参照を含む)式から計算されます。

  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2019-01-20 [31f381740] Allow COPY FROM to filter data using WHERE conditions

    Add a <literal>WHERE</literal> clause to <link linkend="sql-copy"><command>COPY FROM</command></link> to control which rows are accepted (Surafel Temesgen) COPY FROMに、どの行を受け入れるかを制御するWHERE句を追加しました。 (Surafel Temesgen)

    This provides a simple way to filter incoming data. これは入力データをフィルタする簡単な手段を提供します。

  • Author: Thomas Munro <tmunro@postgresql.org> 2018-10-09 [212fab992] Relax transactional restrictions on ALTER TYPE ... ADD V

    Allow enumerated values to be added more flexibly (Andrew Dunstan, Tom Lane, Thomas Munro) 列挙値をより柔軟に追加できるようにしました。 (Andrew Dunstan, Tom Lane, Thomas Munro)

    Previously, <link linkend="sql-altertype"><command>ALTER TYPE ... ADD VALUE</command></link> could not be called in a transaction block, unless it was part of the same transaction that created the enumerated type. Now it can be called in a later transaction, so long as the new enumerated value is not referenced until after it is committed. これまでは、ALTER TYPE ... ADD VALUEを、それが列挙型を作ったトランザクションの一部でない限り、トランザクションブロック内で呼び出せませんでした。 これからは、コミットされる前に新たな列挙値が使われていない限り、後に続くトランザクションの中でも呼び出しできます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-24 [280a408b4] Transaction chaining

    Add commands to end a transaction and start a new one (Peter Eisentraut) トランザクションを終了して新たに開始するコマンドを追加しました。 (Peter Eisentraut)

    The commands are <link linkend="sql-commit"><command>COMMIT AND CHAIN</command></link> and <link linkend="sql-rollback"><command>ROLLBACK AND CHAIN</command></link>. コマンドはCOMMIT AND CHAINROLLBACK AND CHAINです。

  • Author: Fujii Masao <fujii@postgresql.org> 2019-04-08 [119dcfad9] Add vacuum_truncate reloption. Author: Fujii Masao <fujii@postgresql.org> 2019-05-08 [b84dbc8eb] Add TRUNCATE parameter to VACUUM.

    Add <xref linkend="sql-vacuum"/> and <command>CREATE TABLE</command> options to prevent <command>VACUUM</command> from truncating trailing empty pages (Takayuki Tsunakawa) VACUUMで末尾の空ページの切り詰めを防止する、VACUUMCREATE TABLEのオプションを追加しました。 (Takayuki Tsunakawa)

    These options are <varname>vacuum_truncate</varname> and <varname>toast.vacuum_truncate</varname>. Use of these options reduces <command>VACUUM</command>'s locking requirements, but prevents returning disk space to the operating system. オプションはvacuum_truncatetoast.vacuum_truncateです。 これらオプションはVACUUMのロックの必要性を減らしますが、OSへのディスクスペースの返却を妨げます。

  • Author: Robert Haas <rhaas@postgresql.org> 2019-04-04 [a96c41fee] Allow VACUUM to be run with index cleanup disabled. Author: Michael Paquier <michael@paquier.xyz> 2019-06-25 [ce59b75d4] Add toast-level reloption for vacuum_index_cleanup

    Allow <command>VACUUM</command> to skip index cleanup (Masahiko Sawada) VACUUMがインデックスのクリーンアップを省略できるようにしました。 (Masahiko Sawada)

    This change adds a <command>VACUUM</command> command option <literal>INDEX_CLEANUP</literal> as well as a table storage option <literal>vacuum_index_cleanup</literal>. Use of this option reduces the ability to reclaim space and can lead to index bloat, but it is helpful when the main goal is to freeze old tuples. この変更はVACUUMコマンドにオプションINDEX_CLEANUPを、また同様に、テーブルの格納オプションvacuum_index_cleanupを加えます。 このオプションを使うとスペースを回収する能力が減ってインデックス膨張をもたらす可能性がありますが、主たる目的が古いタプルの凍結であるときには有用です。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-10-04 [803b1301e] Add option SKIP_LOCKED to VACUUM and ANALYZE

    Add the ability to skip <command>VACUUM</command> and <command>ANALYZE</command> operations on tables that cannot be locked immediately (Nathan Bossart) ロックをすぐに取得できないテーブルについてVACUUMおよびANALYZE操作を省略できるようにしました。 (Nathan Bossart)

    This option is called <literal>SKIP_LOCKED</literal>. このオプションはSKIP_LOCKEDです。

  • Author: Robert Haas <rhaas@postgresql.org> 2019-03-29 [41b54ba78] Allow existing VACUUM options to take a Boolean argument

    Allow <command>VACUUM</command> and <command>ANALYZE</command> to take optional Boolean argument specifications (Masahiko Sawada) VACUUMANALYZEが随意のBoolean引数の指定を受け付けできるようにしました。 (Masahiko Sawada)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-08-10 [f841ceb26] Improve TRUNCATE by avoiding early lock queue 2018-08-27 [a556549d7] Improve VACUUM and ANALYZE by avoiding early lock queue

    Prevent <xref linkend="sql-truncate"/>, <command>VACUUM</command> and <command>ANALYZE</command> from requesting a lock on tables for which the user lacks permission (Michaël Paquier) TRUNCATEVACUUM、および、ANALYZEでユーザが権限を持たないテーブルに対するロック要求を防止しました。 (Michaël Paquier)

    This prevents unauthorized locking, which could interfere with user queries. これは、ユーザ問い合わせを妨げるおそれのある、権限のないロック取得を防止します。

  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2019-04-04 [ea569d64a] Add SETTINGS option to EXPLAIN, to print modified settin

    Add <xref linkend="sql-explain"/> option <literal>SETTINGS</literal> to output non-default optimizer settings (Tomas Vondra) デフォルトでないオプティマイザ設定を出力する、EXPLAINのオプションSETTINGSを追加しました。 (Tomas Vondra)

    This output can also be obtained when using <xref linkend="auto-explain"/> by setting <varname>auto_explain.log_settings</varname>. この出力は、auto_explainを使っているとき、auto_explain.log_settingsを設定することでも得ることができます。

  • Author: Andrew Gierth <rhodiumtoad@postgresql.org> 2019-03-19 [01bde4fa4] Implement OR REPLACE option for CREATE AGGREGATE.

    Add <literal>OR REPLACE</literal> option to <xref linkend="sql-createaggregate"/> (Andrew Gierth) CREATE AGGREGATEOR REPLACEオプションを追加しました。 (Andrew Gierth)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-19 [590a87025] Ignore attempts to add TOAST table to shared or catalog

    Allow modifications of system catalogs' options using <xref linkend="sql-altertable"/> (Peter Eisentraut) ALTER TABLEでシステムカタログのオプションを変更可能にしました。 (Peter Eisentraut)

    Modifications of catalogs' <literal>reloptions</literal> and autovacuum settings are now supported. (Setting <xref linkend="guc-allow-system-table-mods"/> is still required.) 今のところカタログのreloptionsとautovacuum設定の変更に対応しています。 (依然としてallow_system_table_modsを設定することが必要です。)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-13 [f177660ab] Include all columns in default names for foreign key con

    Use all key columns' names when selecting default constraint names for foreign keys (Peter Eisentraut) 外部キーに対してデフォルトの制約名を選択するときに全てのキー列名を使うようにしました。 (Peter Eisentraut)

    Previously, only the first column name was included in the constraint name, resulting in ambiguity for multi-column foreign keys. これまでは、制約名に最初の列名だけが含まれ、複数列の外部キーに対して結果として曖昧になりました。

E.4.3.4. データ型

<title>Data Types</title>
  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-06-19 [d8594d123] Update list of combining characters 2019-06-24 [82be666ee] Update unicode_norm_table.h to Unicode 12.1.0

    Update assorted knowledge about Unicode to match Unicode 12.1.0 (Peter Eisentraut) Unicode 12.1.0 に適合させるようにユニコードに関する各種の認識を更新しました。 (Peter Eisentraut)

    This fixes, for example, cases where <application>psql</application> would misformat output involving combining characters. これは、例えばpsqlが結合文字に関して誤った出力をするのを修正します。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-24 [fd582317e] Sync our Snowball stemmer dictionaries with current upst

    Update Snowball stemmer dictionaries with support for new languages (Arthur Zakirov) スノーボール語幹辞書を更新しました。新たな言語の対応が含まれます。 (Arthur Zakirov)

    This adds word stemming support for Arabic, Indonesian, Irish, Lithuanian, Nepali, and Tamil to <link linkend="textsearch">full text search</link>. これにより、全文検索でアラビア語、インドネシア語、アイルランド語、リトアニア語、ネパール語、タミル語の語幹処理に対応します。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-22 [5e1963fb7] Collations with nondeterministic comparison

    Allow creation of <link linkend="collation">collations</link> that report string equality for strings that are not bit-wise equal (Peter Eisentraut) ビットとしては等しくない文字列に対して等価を報告する照合順序の作成を可能にしました。 (Peter Eisentraut)

    This feature supports <quote>nondeterministic</quote> collations that can define case- and accent-agnostic equality comparisons. Thus, for example, a case-insensitive uniqueness constraint on a text column can be made more easily than before. This is only supported for <acronym>ICU</acronym> collations. この機能は、大文字小文字やアクセントを無視する等価比較が可能なnondeterministic(非決定的)な照合順序をサポートします。 したがって、例えば、テキスト列に大文字小文字を同一視する一意性制約を従来よりも簡単に作ることができます。 これはICU照合順序でのみサポートされます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-17 [b8f9a2a69] Add support for collation attributes on older ICU versio

    Add support for <acronym>ICU</acronym> collation attributes on older ICU versions (Peter Eisentraut) 古いICUバージョンでのICU照合順序の属性に対応しました。 (Peter Eisentraut)

    This allows customization of the collation rules in a consistent way across all ICU versions. これは全てのICUバージョンにわたって一貫した方法での照合規則のカスタマイズを可能にします。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-19 [2ece7c07d] Add text-vs-name cross-type operators, and unify name_op

    Allow data type <link linkend="datatype-character-special-table">name</link> to more seamlessly be compared to other text types (Tom Lane) nameデータ型がより透過的に他のテキスト型と比較できるようにしました。 (Tom Lane)

    Type <type>name</type> now behaves much like a domain over type <type>text</type> that has default collation <quote>C</quote>. This allows cross-type comparisons to be processed more efficiently. name型は、デフォルト照合順序がCであるtextのドメインと良く似た振舞いをするようになりました。 これにより型をまたがる比較がより効率的に処理できるようになります。

E.4.3.5. 関数

<title>Functions</title>
  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2019-03-16 [72b646033] Partial implementation of SQL/JSON path language Author: Alexander Korotkov <akorotkov@postgresql.org> 2019-03-16 [16d489b0f] Numeric error suppression in jsonpath Author: Alexander Korotkov <akorotkov@postgresql.org> 2019-04-01 [0a02e2ae0] GIN support for @@ and @? jsonpath operators

    Add support for the <acronym>SQL/JSON</acronym> <link linkend="functions-sqljson-path">path</link> language (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova) SQL/JSON path言語に対応しました。 (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)

    This allows execution of complex queries on <type>JSON</type> values using an <acronym>SQL</acronym>-standard language. これによりJSON値に対してSQL標準の言語を使って複雑な問い合わせの実行が可能になります。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-12 [f1d85aa98] Add support for hyperbolic functions, as well as log10()

    Add support for <link linkend="functions-math-hyp-table">hyperbolic functions</link> (Lætitia Avrot) 双曲線関数をサポートしました。 (Lætitia Avrot)

    Also add <function>log10()</function> as an alias for <function>log()</function>, for standards compliance. また、標準準拠のためlog()の別名としてlog10()を追加しました。

  • Author: Dean Rasheed <dean.a.rasheed@gmail.com> 2018-10-06 [e954a727f] Improve the accuracy of floating point statistical aggre

    Improve the accuracy of statistical aggregates like <link linkend="functions-aggregate-statistics-table"><function>variance()</function></link> by using more precise algorithms (Dean Rasheed) より精密なアルゴリズムを使うことでvariance()のような統計集約の正確さを改善しました。 (Dean Rasheed)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-14 [600b04d6b] Add a timezone-specific variant of date_trunc().

    Allow <link linkend="functions-datetime-table"><function>date_trunc()</function></link> to have an additional argument to control the time zone (Vik Fearing, Tom Lane) date_trunc()がタイムゾーンを制御する追加引数を持てるようにしました。 (Vik Fearing, Tom Lane)

    This is faster and simpler than using the <literal>AT TIME ZONE</literal> clause. これはAT TIME ZONE句を使うよりも高速で簡易です。

  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2018-09-09 [cf9846724] Improve behavior of to_timestamp()/to_date() functions

    Adjust <link linkend="functions-formatting-table"><function>to_timestamp()</function></link>/<function>to_date()</function> functions to be more forgiving of template mismatches (Artur Zakirov, Alexander Korotkov, Liudmila Mantrova) to_timestamp()/to_date()関数をテンプレート不一致に対してより寛容になるように調整しました。 (Artur Zakirov, Alexander Korotkov, Liudmila Mantrova)

    This new behavior more closely matches the <productname>Oracle</productname> functions of the same name. 新たな振る舞いは同名のOracleの関数とより似通ったものになります。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-07 [251cf2e27] Fix minor deficiencies in XMLTABLE, xpath(), xmlexists()

    Fix assorted bugs in <link linkend="functions-xml"><acronym>XML</acronym> functions</link> (Pavel Stehule, Markus Winand, Chapman Flack) XML関数の様々なバグを修正しました。 (Pavel Stehule, Markus Winand, Chapman Flack)

    Specifically, in <literal>XMLTABLE</literal>, <function>xpath()</function>, and <function>xmlexists()</function>, fix some cases where nothing was output for a node, or an unexpected error was thrown, or necessary escaping of XML special characters was omitted. 具体的には、XMLTABLExpath()、および、xmlexists()で、あるノードについて何も出力されない、予期せぬエラーが生じる、あるいは、必要なXML特別文字のエスケープが行われない、という場合について修正しました。

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-07 [eaaa5986a] Fix the BY {REF,VALUE} clause of XMLEXISTS/XMLTABLE

    Allow the <literal>BY VALUE</literal> clause in <function>XMLEXISTS</function> and <function>XMLTABLE</function> (Chapman Flack) XMLEXISTSおよびXMLTABLEBY VALUE句が使えるようにしました。 (Chapman Flack)

    This SQL-standard clause has no effect in <productname>PostgreSQL</productname>'s implementation, but it was unnecessarily being rejected. このSQL標準の句はPostgreSQLの実装では効果を持ちませんが、不必要に拒絶されていました。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-03-27 [5bde1651b] Switch function current_schema[s]() to be parallel-unsaf

    Prevent <link linkend="functions-info-session-table"><function>current_schema()</function></link> and <function>current_schemas()</function> from being run by parallel workers, as they are not parallel-safe (Michaël Paquier) current_schema()current_schemas()はパラレル安全ではないので、これらがパラレルワーカーから実行されるのを防止しました。 (Michaël Paquier)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-01-30 [5f5c01459] Allow RECORD and RECORD[] to be specified in function co

    Allow <type>RECORD</type> and <type>RECORD[]</type> to be used as column types in a query's column definition list for a <link linkend="queries-tablefunctions">table function</link> that is declared to return <type>RECORD</type> (Elvis Pranskevichus) RECORDRECORD[]が、RECORDを返すと宣言されているテーブル関数に対する問い合わせの列定義リストで列型として使えるようにしました。 (Elvis Pranskevichus)

E.4.3.6. PL/pgSQL

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-01-04 [4879a5172] Support plpgsql variable names that conflict with unrese

    Allow SQL commands and variables with the same names as those commands to be used in the same PL/pgSQL function (Tom Lane) SQLコマンドとコマンドと同名の変数を同じPL/pgSQL関数内で使えるようにしました。 (Tom Lane)

    For example, allow a variable called <varname>comment</varname> to exist in a function that calls the <command>COMMENT</command> <acronym>SQL</acronym> command. Previously this combination caused a parse error. 例えば、commentと言う変数をSQLコマンドのCOMMENTを呼び出す関数の中で使えます。 これまでは、この組み合わせはパースエラーをひき起こしました。

  • Author: Tomas Vondra <tomas.vondra@postgresql.org> 2018-07-25 [167075be3] Add strict_multi_assignment and too_many_rows plpgsql ch

    Add new optional warning and error checks to PL/pgSQL (Pavel Stehule) PL/pgSQLに随意の新たな警告とエラーの検査を追加しました。 (Pavel Stehule)

    The new checks allow for run-time validation of <literal>INTO</literal> column counts and single-row results. 新たな検査は、INTOの列の数と単一行の結果の実行時検査を可能にします。

E.4.3.7. クライアントインタフェース

<title>Client Interfaces</title>
  • Author: Michael Paquier <michael@paquier.xyz> 2019-04-06 [249d64999] Add support TCP user timeout in libpq and the backend se

    Add connection parameter <xref linkend="libpq-tcp-user-timeout"/> to control <application>libpq</application>'s <acronym>TCP</acronym> timeout (Ryohei Nagaura) libpqTCPタイムアウトを制御する接続パラメータtcp_user_timeoutを追加しました。 (Ryohei Nagaura)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-04-04 [7bac3acab] Add a "SQLSTATE-only" error verbosity option to libpq an

    Allow <application>libpq</application> (and thus <application>psql</application>) to report only the <literal>SQLSTATE</literal> value in error messages (Didier Gautheron) libpqが(それによりpsqlも)エラーメッセージにSQLSTATE値だけを報告できるようにしました。 (Didier Gautheron)

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-11 [2970afa6c] Add PQresultMemorySize function to report allocated size

    Add <application>libpq</application> function <link linkend="libpq-pqresultmemorysize"><function>PQresultMemorySize()</function></link> to report the memory used by a query result (Lars Kanis, Tom Lane) 問い合わせ結果によるメモリ使用を報告するlibpqの関数PQresultMemorySize()を追加しました。 (Lars Kanis, Tom Lane)

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-09-07 [1fea1e325] libpq: Change "options" dispchar to normal

    Remove the no-display/debug flag from <application>libpq</application>'s <literal>options</literal> connection parameter (Peter Eisentraut) libpqoptions接続パラメータからno-display/debugフラグを廃止しました。 (Peter Eisentraut)

    This allows this parameter to be set by <application>postgres_fdw</application>. これにより、本パラメータをpostgres_fdwから設定できるようになります。

  • Author: Michael Meskes <meskes@postgresql.org> 2019-02-18 [050710b36] Add bytea datatype to ECPG.

    Allow <xref linkend="app-ecpg"/> to create variables of data type <type>bytea</type> (Ryo Matsumura) ecpgbyteaデータ型の変数を作成できるようにしました。 (Ryo Matsumura)

    This allows ECPG clients to interact with <type>bytea</type> data directly, rather than using an encoded form. これによりECPGクライアントがbyteaデータをエンコードされた形式を使うことなく直接触れます。

  • Author: Michael Meskes <meskes@postgresql.org> 2019-05-22 [a1dc6ab46] Implement PREPARE AS statement for ECPG.

    Add <command>PREPARE AS</command> support to <productname>ECPG</productname> (Ryo Matsumura) ECPGPREPARE ASをサポートしました。 (Ryo Matsumura)

E.4.3.8. クライアントアプリケーション

<title>Client Applications</title>
  • Author: Michael Paquier <michael@paquier.xyz> 2019-01-31 [00d1e88d3] Add - -min-xid-age and - -min-mxid-age options to vacuumdb

    Allow <xref linkend="app-vacuumdb"/> to select tables for vacuum based on their wraparound horizon (Nathan Bossart) vacuumdbが周回限界に基づいてバキュームするテーブルを選択できるようにしました。 (Nathan Bossart)

    The options are <option>-&#045;min-xid-age</option> and <option>-&#045;min-mxid-age</option>. そのオプションは--min-xid-age--min-mxid-ageです。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-01-08 [354e95d1f] Add - -disable-page-skipping and - -skip-locked to vacuumd

    Allow <application>vacuumdb</application> to disable waiting for locks or skipping all-visible pages (Nathan Bossart) vacuumdbがロック待機を無効に、あるいは、全て可視のページを省略できるようにしました。 (Nathan Bossart)

    The options are <option>-&#045;skip-locked</option> and <option>-&#045;disable-page-skipping</option>. そのオプションは--skip-locked--disable-page-skippingです。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-04-01 [cc8d41511] Unified logging system for command-line programs

    Add colorization to the output of command-line utilities (Peter Eisentraut) コマンドラインユーティリティの出力に色付きを加えました。 (Peter Eisentraut)

    This is enabled by setting the environment variable <envar>PG_COLOR</envar> to <literal>always</literal> or <literal>auto</literal>. The specific colors used can be adjusted by setting the environment variable <envar>PG_COLORS</envar>, using ANSI escape codes for colors. For example, the default behavior is equivalent to <literal>PG_COLORS="error=01;31:warning=01;35:locus=01"</literal>. これは環境変数PG_COLORalwaysまたはautoを設定することで有効になります。 使われる色の詳細は、色のANSIエスケープコードを用いて環境変数PG_COLORSを設定することで調整できます。 例えば、デフォルト動作はPG_COLORS="error=01;31:warning=01;35:locus=01"と同等です。

E.4.3.8.1. psql
  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-11-26 [aa2ba50c2] Add CSV table output mode in psql.

    Add <acronym>CSV</acronym> table output mode in <application>psql</application> (Daniel Vérité) psqlCSVテーブル出力モードを追加しました。

    This is controlled by <command>\pset format csv</command> or the command-line <option>-&#045;csv</option> option. これは\pset format csvまたはコマンドラインの--csvオプションで制御されます。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-11 [27f3dea64] psql: Add documentation URL to \help output

    Show the manual page <acronym>URL</acronym> in <application>psql</application>'s <command>\help</command> output for a SQL command (Peter Eisentraut) SQLコマンドに対するpsql\helpの出力でマニュアルページのURLを表示するようにしました。 (Peter Eisentraut)

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2018-11-19 [6e5f8d489] psql: Show IP address in \conninfo 2019-06-14 [313f56ce2] Tweak libpq's PQhost, PQhostaddr, and psql's \connect

    Display the <acronym>IP</acronym> address in <application>psql</application>'s <command>\conninfo</command> (Fabien Coelho) psql\conninfoIPアドレスを表示するようにしました。 (Fabien Coelho)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-12-23 [11a60d496] Add completion for storage parameters after CREATE TABLE Author: Michael Paquier <michael@paquier.xyz> 2018-10-26 [5953c9969] Improve tab completion of CREATE EVENT TRIGGER in psql Author: Michael Paquier <michael@paquier.xyz> 2018-10-26 [292ef6e27] Add tab completion of EXECUTE FUNCTION for CREATE TRIGGE Author: Michael Paquier <michael@paquier.xyz> 2019-01-28 [23349b18d] Add tab completion for ALTER INDEX ALTER COLUMN in psql Author: Michael Paquier <michael@paquier.xyz> 2018-12-20 [4cba9c2a3] Add more tab completion for CREATE TABLE in psql Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-20 [a7c4dad1a] Fix psql's tab completion for ALTER DATABASE ... SET TAB Author: Michael Paquier <michael@paquier.xyz> 2018-12-25 [f89ae34ab] Improve tab completion of ALTER INDEX/TABLE with SET STA Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-20 [c9a8a401f] Fix psql's tab completion for TABLE. Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-21 [121213d9d] Improve tab completion for ANALYZE, EXPLAIN, and VACUUM.

    Improve tab completion of <command>CREATE TABLE</command>, <command>CREATE TRIGGER</command>, <command>CREATE EVENT TRIGGER</command>, <command>ANALYZE</command>, <command>EXPLAIN</command>, <command>VACUUM</command>, <command>ALTER TABLE</command>, <command>ALTER INDEX</command>, <command>ALTER DATABASE</command>, and <command>ALTER INDEX ALTER COLUMN</command> (Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michaël Paquier, Tom Lane, Justin Pryzby) CREATE TABLECREATE TRIGGERCREATE EVENT TRIGGERANALYZEEXPLAINVACUUMALTER TABLEALTER INDEXALTER DATABASE、およびALTER INDEX ALTER COLUMNのタブ補完を改善しました。 (Dagfinn Ilmari Mannsåker, Tatsuro Yamada, Michaël Paquier, Tom Lane, Justin Pryzby)

E.4.3.8.2. pgbench
  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-01-10 [6260cc550] pgbench: add \cset and \gset commands Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-25 [25ee70511] pgbench: Remove \cset

    Allow values produced by queries to be assigned to <application>pgbench</application> variables (Fabien Coelho, Álvaro Herrera) 問い合わせで生成した値をpgbenchの変数に割り当てできるようにしました。 (Fabien Coelho, Álvaro Herrera)

    The command for this is <command>\gset</command>. これを行うコマンドは\gsetです。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-25 [5b7e03670] Avoid unnecessary precision loss for pgbench's - -rate ta

    Improve precision of <application>pgbench</application>'s <option>-&#045;rate</option> option (Tom Lane) pgbench--rateオプションの精度を改善しました。 (Tom Lane)

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-10-15 [5b75a4f82] pgbench: Report errors during run better

    Improve <application>pgbench</application>'s error reporting with clearer messages and return codes (Peter Eisentraut) メッセージと戻り値の明確化でpgbenchのエラー報告を改善しました。 (Peter Eisentraut)

E.4.3.9. サーバアプリケーション

<title>Server Applications</title>
  • Author: Alexander Korotkov <akorotkov@postgresql.org> 2018-09-01 [ec7436993] Implement "pg_ctl logrotate" command

    Allow control of log file rotation via <xref linkend="app-pg-ctl"/> (Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov) pg_ctlを通してログファイルのローテーションを制御できるようにしました。 (Kyotaro Horiguchi, Alexander Kuzmenkov, Alexander Korotkov)

    Previously, this was only possible via an <acronym>SQL</acronym> function or a process signal. これまでは、SQL関数かプロセスシグナルを通してのみ可能でした。

  • Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> 2019-01-14 [bb24439ce] Detach postmaster process from pg_ctl's session at serve

    Properly detach the new server process during <literal><application>pg_ctl</application> start</literal> (Paul Guo) pg_ctl startの際に、新たなサーバプロセスを適切にデタッチするようにしました。 (Paul Guo)

    This prevents the server from being shut down if the shell script that invoked <application>pg_ctl</application> is interrupted later. これは、pg_ctlを起動するシェルスクリプトが後に割り込まれた場合にサーバがシャットダウンされるのを防止します。

  • Author: Peter Eisentraut <peter_e@gmx.net> 2018-11-07 [3a769d823] pg_upgrade: Allow use of file cloning

    Allow <xref linkend="pgupgrade"/> to use the file system's cloning feature, if there is one (Peter Eisentraut) pg_upgradeが、もし在るなら、ファイルシステムのクローン機能を使えるようにしました。 (Peter Eisentraut)

    The <option>-&#045;clone</option> option has the advantages of <option>-&#045;link</option>, while preventing the old cluster from being changed after the new cluster has started. --cloneオプションは、古いクラスタが新しいクラスタが起動した後に変更されるのを防ぎ、--linkに対して優位性を持ちます。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-12-01 [2d34ad843] Add a - -socketdir option to pg_upgrade.

    Allow specification of the socket directory to use in <application>pg_upgrade</application> (Daniel Gustafsson) pg_upgradeで使うソケットでレクトリの指定ができるようにしました。 (Daniel Gustafsson)

    This is controlled by <option>-&#045;socketdir</option>; the default is the current directory. これは--socketdirで制御され、デフォルトはカレントディレクトリです。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-03-23 [e0090c869] Add option -N/- -no-sync to pg_checksums

    Allow <xref linkend="app-pgchecksums"/> to disable fsync operations (Michaël Paquier) pg_checksumsがfsync操作を無効にできるようにしました。 (Michaël Paquier)

    This is controlled by the <option>-&#045;no-sync</option> option. これは--no-syncオプションで制御されます。

  • Author: Michael Paquier <michael@paquier.xyz> 2018-07-10 [8a00b96aa] Add pg_rewind - -no-sync

    Allow <xref linkend="app-pgrewind"/> to disable fsync operations (Michaël Paquier) pg_rewindでfsync操作を無効にできるようにしました。 (Michaël Paquier)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-09-14 [0ba06e0bf] Allow concurrent-safe open() and fopen() in frontend 2018-09-20 [40cfe8606] Enforce translation mode for Windows frontends to text

    Fix <xref linkend="pgtestfsync"/> to report accurate <literal>open_datasync</literal> durations on <productname>Windows</productname> (Laurenz Albe) pg_test_fsyncWindowsで正確なopen_datasyncの時間を報告するように修正しました。 (Laurenz Albe)

  • Author: Alvaro Herrera <alvherre@alvh.no-ip.org> 2019-03-07 [7e413a0f8] pg_dump: allow multiple rows per insert 2019-06-14 [a193cbec1] Add pg_dumpall rows-per-insert

    When <application>pg_dump</application> emits data with <command>INSERT</command> commands rather than <command>COPY</command>, allow more than one data row to be included in each <command>INSERT</command> (Surafel Temesgen, David Rowley) pg_dumpCOPYではなくINSERTコマンドでデータを出力するとき、 各INSERTに複数データ行を含めることができるようにしました。 (Surafel Temesgen, David Rowley)

    The option controlling this is <option>-&#045;rows-per-insert</option>. これを制御するオプションは--rows-per-insertです。

  • Author: Thomas Munro <tmunro@postgresql.org> 2018-07-13 [387a5cfb9] Add pg_dump - -on-conflict-do-nothing option.

    Allow <application>pg_dump</application> to emit <command>INSERT ... ON CONFLICT DO NOTHING</command> (Surafel Temesgen) pg_dumpINSERT ... ON CONFLICT DO NOTHINGを出力できるようにしました。 (Surafel Temesgen)

    This avoids conflict failures during restore. The option is <option>-&#045;on-conflict-do-nothing</option>. これはリストア時の衝突によるエラーを回避します。 このオプションは--on-conflict-do-nothingです。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-14 [548e50976] Improve parallel scheduling logic in pg_dump/pg_restore.

    Decouple the order of operations in a parallel <application>pg_dump</application> from the order used by a subsequent parallel <application>pg_restore</application> (Tom Lane) 並列pg_dumpでの実行の順序を、続く並列pg_restoreで使われる順序と切り離しました。 (Tom Lane)

    This allows <application>pg_restore</application> to perform more-fully-parallelized parallel restores, especially in cases where the original dump was not done in parallel. Scheduling of a parallel <application>pg_dump</application> is also somewhat improved. これにより、特に元のダンプが並列で行われなかった場合に、pg_restoreがより完全に並列化された並列リストアを行えるようになります。 並列pg_dumpのスケジューリングもいくらか改善されました。

  • Author: Andrew Dunstan <andrew@dunslane.net> 2019-02-18 [af25bc03e] Provide an extra-float-digits setting for pg_dump / pg_d

    Allow the <xref linkend="guc-extra-float-digits"/> setting to be specified for <application>pg_dump</application> and <application>pg_dumpall</application> (Andrew Dunstan) extra_float_digits設定がpg_dumppg_dumpallむけに指定できるようにしました。

    This is primarily useful for making dumps that are exactly comparable across different source server versions. It is not recommended for normal use, as it may result in loss of precision when the dump is restored. これは主として、異なるソースサーババージョンとの間で正確に比較可能なダンプを作るときに有用です。 ダンプをリストアするときに精度の損失が生じるかもしれないため、通常時の使用は推奨されません。

  • Author: Andrew Dunstan <andrew@dunslane.net> 2019-03-01 [f092de050] Add - -exclude-database option to pg_dumpall

    Add <option>-&#045;exclude-database</option> option to <application>pg_dumpall</application> (Andrew Dunstan) pg_dumpall--exclude-databaseオプションを追加しました。 (Andrew Dunstan)

E.4.3.10. ソースコード

<title>Source Code</title>
  • Author: Andres Freund <andres@anarazel.de> 2018-11-16 [4da597edf] Make TupleTableSlots extensible, finish split of Author: Andres Freund <andres@anarazel.de> 2019-03-06 [8586bf7ed] tableam: introduce table AM infrastructure. Author: Andres Freund <andres@anarazel.de> 2019-03-06 [3b925e905] tableam: Add pg_dump support. Author: Andres Freund <andres@anarazel.de> 2019-03-11 [c2fe139c2] tableam: Add and use scan APIs. Author: Andres Freund <andres@anarazel.de> 2019-03-23 [5db6df0c0] tableam: Add tuple_{insert, delete, update, lock} and us Author: Andres Freund <andres@anarazel.de> 2019-03-28 [d25f51910] tableam: relation creation, VACUUM FULL/CLUSTER, SET TAB Author: Andres Freund <andres@anarazel.de> 2019-03-29 [d3a5fc17e] Show table access methods as such in psql's \dA. Author: Andres Freund <andres@anarazel.de> 2019-03-31 [73c954d24] tableam: sample scan. Author: Andres Freund <andres@anarazel.de> 2019-03-31 [bfbcad478] tableam: bitmap table scan. existin

    Add <xref linkend="sql-create-access-method"/> command to create new table types (Andres Freund, Haribabu Kommi, Álvaro Herrera, Alexander Korotkov, Dmitry Dolgov) 新たなテーブルタイプを作るCREATE ACCESS METHODコマンドを追加しました。 (Andres Freund, Haribabu Kommi, Álvaro Herrera, Alexander Korotkov, Dmitry Dolgov)

    This enables the development of new <link linkend="tableam">table access methods</link>, which can optimize storage for different use cases. The existing <literal>heap</literal> access method remains the default. これは、ストレージを異なるユースケースに最適化できる、新たなテーブルアクセスメソッドの開発を可能にします。 既存のheapアクセスメソッドが引き続きデフォルトです。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-02-09 [1fb57af92] Create the infrastructure for planner support functions. 2019-02-09 [a391ff3c3] Build out the planner support function infrastructure. 2019-02-11 [74dfe58a5] Allow extensions to generate lossy index conditions.

    Add <link linkend="xfunc-optimization">planner support function</link> interfaces to improve optimizer estimates, inlining, and indexing for functions (Tom Lane) 関数に対するオプティマイザの推計やインライン化、インデックス使用を改善する、プランナサポート関数インタフェースを追加しました。 (Tom Lane)

    This allows extensions to create planner support functions that can provide function-specific selectivity, cost, and row-count estimates that can depend on the function's arguments. Support functions can also supply simplified representations and index conditions, greatly expanding optimization possibilities. これは、関数引数に依存した関数特有の選択性やコスト、行数推計を提供できる、プランナサポート関数を作る拡張を可能にします。 サポート関数は単純化された表現とインデックス条件も提供できて、最適化の可能性を大きく広げます。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2019-03-12 [a6417078c] Create a script that can renumber manually-assigned OIDs 2019-03-12 [3aa0395d4] Remove remaining hard-wired OID references in the initia

    Simplify renumbering manually-assigned OIDs, and establish a new project policy for management of such OIDs (John Naylor, Tom Lane) 手動割り当てしたOIDの再付番を単純化して、このようなOIDの管理についての新たなプロジェクト方針を確立しました。 (John Naylor, Tom Lane)

    Patches that manually assign OIDs for new built-in objects (such as new functions) should now randomly choose OIDs in the range 8000&mdash;9999. At the end of a development cycle, the OIDs used by committed patches will be renumbered down to lower numbers, currently somewhere in the 4<replaceable>xxx</replaceable> range, using the new <link linkend="system-catalog-oid-assignment"><command>renumber_oids.pl</command></link> script. This approach should greatly reduce the odds of OID collisions between different in-process patches. (新たな関数など)新たなビルトインオブジェクトに対するOIDを手動割り当てするパッチは、8000—9999の範囲でランダムにOIDを選ぶようになります。 開発サイクルの終わりに、コミットされたパッチで使用されるOIDはrenumber_oids.plスクリプトを使って、より少ない数値、今のところ4xxxの範囲のどこか、に番号が付け直されてます。 この方法は、進行中の別パッチ間のOID衝突の可能性を大幅に減らすはずです。

    While there is no specific policy reserving any OIDs for external use, it is recommended that forks and other projects needing private manually-assigned OIDs use numbers in the high 7<replaceable>xxx</replaceable> range. This will avoid conflicts with recently-merged patches, and it should be a long time before the core project reaches that range. 外部使用に対しては、いかなるOIDにも予約の方針が特段無いため、プライベートな手動割り当てされたOIDを必要とするフォークや他プロジェクトでは、高位の7xxx範囲の番号を使用することが推奨されます。 これにより、コアプロジェクトがその範囲に達するまで長い間、最近にマージされたパッチとの衝突を回避できるでしょう。

  • Author: Andrew Dunstan <andrew@dunslane.net> 2018-10-02 [a33245a85] Don't build static libraries on Cygwin

    Build <productname>Cygwin</productname> binaries using dynamic instead of static libraries (Marco Atzeri) 静的ライブラリに替えて、動的ライブラリを用いてCygwinバイナリをビルドするようにしました。 (Marco Atzeri)

  • Author: Michael Paquier <michael@paquier.xyz> 2019-01-01 [1707a0d2a] Remove configure switch - -disable-strong-random

    Remove <application>configure</application> switch <option>-&#045;disable-strong-random</option> (Michaël Paquier) configureスイッチの--disable-strong-randomを廃止しました。 (Michaël Paquier)

    A strong random-number source is now required. これからは強い乱数ソースが必要です。

  • Author: Tom Lane <tgl@sss.pgh.pa.us> 2018-09-26 [96bf88d52] Always use our own versions of *printf(). 2018-09-26 [26e9d4d4e] Convert elog.c's useful_strerror() into a globally-used 2018-09-26 [758ce9b77] Incorporate strerror_r() into src/port/snprintf.c, too. 2018-09-26 [d6c55de1f] Implement %m in src/port/snprintf.c, and teach elog.c to

    <function>printf</function>-family functions, as well as <function>strerror</function> and <function>strerror_r</function>, now behave uniformly across platforms within Postgres code (Tom Lane) printfファミリーの関数群およびstrerrorstrerror_rが、PosrtgreSQLコード内においてプラットフォーム間で同じ振る舞いをするようになります。 (Tom Lane)

    Notably, <function>printf</function> understands <literal>%m</literal> everywhere; on Windows, <function>strerror</function> copes with Winsock error codes (it used to do so in backend but not frontend code); and <function>strerror_r</function> always follows the GNU return convention. とりわけ、printfがどこでも%mを理解します。Windowsで、strerrorがWinsockのエラーコードに対応します(バックエンドではそのように動作してきましたがフロントエンドではそうなっていませんでした)。また、strerror_rがGNUの戻り値の慣例に従います。

  • Author: Andres Freund <andres@anarazel.de> 2018-08-23 [d9dd406fe] Require C99 (and thus MSCV 2013 upwards).

    Require a C99-compliant compiler, and <acronym>MSVC</acronym> 2013 or later on <productname>Windows</productname> (Andres Freund) C99準拠のコンパイラ、および、WindowsではMSVC 2013以降が必要となります。 (Andres Freund)

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-01-11 [96b8b8b6f] Create INSTALL file using Pandoc 2019-03-27 [2488ea7a9] Use Pandoc also for plain-text documentation output

    Use <application>pandoc</application>, not <application>lynx</application>, for generating plain-text documentation output files (Peter Eisentraut) プレーンテキスト文書の出力ファイルを生成するのに、lynxではなくpandocを使うようにしました。 (Peter Eisentraut)

    This affects only the <filename>INSTALL</filename> file generated during <literal>make dist</literal> and the seldom-used plain-text <filename>postgres.txt</filename> output file. Pandoc produces better output than lynx and avoids some locale/encoding issues. Pandoc version 1.13 or later is required. これは、make distで生成されたINSTALLファイルとほとんど使用されないプレーンテキストのpostgres.txt出力ファイルにのみ影響があります。 Pandocはlynxより良い出力を生成し、一部のロケール/エンコーディングの問題を回避します。 Pandocバージョン1.13以降が必要です。

  • Author: Peter Eisentraut <peter@eisentraut.org> 2019-03-27 [ea55aec0a] doc: Add some images

    Support use of images in the <productname>PostgreSQL</productname> documentation (Jürgen Purtz) PostgreSQL文書での画像の使用に対応しました。 (Jürgen Purtz)

E.4.3.11. 追加モジュール

<title>Additional Modules</title>
  • Author: Etsuro Fujita <efujita@postgresql.org> 2019-04-02 [ffab494a4] postgres_fdw: Perform the (ORDERED, NULL) upperrel opera Author: Etsuro Fujita <efujita@postgresql.org> 2019-04-02 [d50d172e5] postgres_fdw: Perform the (FINAL, NULL) upperrel operati

    Allow <literal>ORDER BY</literal> sorts and <literal>LIMIT</literal> clauses to be pushed to <xref linkend="postgres-fdw"/> foreign servers in more cases (Etsuro Fujita) postgres_fdw外部サーバにORDER BYのソートとLIMIT句がより多くの場合にプッシュされるようになりました。 (Etsuro Fujita)

  • Author: Etsuro Fujita <efujita@postgresql.org> 2018-12-04 [f8f6e4467] postgres_fdw: Improve cost and size estimation for aggre Author: Etsuro Fujita <efujita@postgresql.org> 2019-01-24 [fd1afdbaf] postgres_fdw: Account for tlist eval costs in estimate_p Author: Etsuro Fujita <efujita@postgresql.org> 2019-05-09 [edbcbe277] postgres_fdw: Fix cost estimation for aggregate pushdown

    Improve optimizer cost accounting for <application>postgres_fdw</application> queries (Etsuro Fujita) postgres_fdwの問い合わせに対してオプティマイザのコスト計算を改善しました。 (Etsuro Fujita)

  • Author: Jeff Davis <jdavis@postgresql.org> 2018-07-08 [a45adc747] Fix WITH CHECK OPTION on views referencing postgres_fdw

    Properly honor <literal>WITH CHECK OPTION</literal> on views that reference <application>postgres_fdw</application> tables (Etsuro Fujita) postgres_fdwテーブルを参照するビューのWITH CHECK OPTIONを適切に尊重するようにしました。 (Etsuro Fujita)

    While <literal>CHECK OPTION</literal>s on <application>postgres_fdw</application> tables are ignored (because the reference is foreign), views on such tables are considered local, so this change enforces <literal>CHECK OPTION</literal>s on them. Previously, only <command>INSERT</command>s and <command>UPDATE</command>s with <literal>RETURNING</literal> clauses that returned <literal>CHECK OPTION</literal> values were validated. postgres_fdwテーブルのCHECK OPTIONが(参照先が外部であるために)無視される一方で、このようなテーブルのビューはローカルと認識されていました。そこで本変更は、これらのCHECK OPTIONを強制します。 これまでは、CHECK OPTIONの値を返すRETURNING句を伴うINSERTUPDATEだけが、検査されていました。

  • Author: Amit Kapila <akapila@postgresql.org> 2019-01-11 [43cbedab8] Extend pg_stat_statements_reset to reset statistics spec

    Allow <link linkend="pgstatstatements"><function>pg_stat_statements_reset()</function></link> to be more granular (Haribabu Kommi, Amit Kapila) pg_stat_statements_reset()をより細かく実行できるようにしました。 (Haribabu Kommi, Amit Kapila)

    The function now allows reset of statistics for specific databases, users, and queries. 本関数は指定したデータベース、ユーザ、問い合わせに対して統計情報をリセットできるようになります。

  • Author: Andrew Dunstan <andrew@dunslane.net> 2018-07-31 [2d36a5e9d] Provide a log_level setting for auto_explain

    Allow control of the <xref linkend="auto-explain"/> log level (Tom Dunstan, Andrew Dunstan) auto_explainのログレベルを制御できるようにしました。 (Tom Dunstan, Andrew Dunstan)

    The default is <literal>LOG</literal>. デフォルトはLOGです。

  • Author: Michael Paquier <michael@paquier.xyz> 2019-01-10 [e1c1d5444] Update unaccent rules with release 34 of CLDR for Latin-

    Update <xref linkend="unaccent"/> rules with new punctuation and symbols (Hugh Ranalli, Michaël Paquier) unaccentのルールを改定しました。新たな区切り文字とシンボルを伴います。 (Hugh Ranalli, Michaël Paquier)

  • Author: Thomas Munro <tmunro@postgresql.org> 2019-02-01 [456e3718e] Add combining characters to unaccent.rules.

    Allow <application>unaccent</application> to handle some accents encoded as combining characters (Hugh Ranalli) unaccentが結合文字でエンコードされた、いくつかのアクセントを扱えるようにしました。 (Hugh Ranalli)

  • Author: Thomas Munro <tmunro@postgresql.org> 2018-09-02 [5e8d670c3] Add Greek characters to unaccent.rules.

    Allow <application>unaccent</application> to remove accents from Greek characters (Tasos Maschalidis) unaccentがギリシャ文字からアクセントを削除できるようにしました。 (Tasos Maschalidis)

  • Author: Peter Geoghegan <pg@bowt.ie> 2019-03-20 [c1afd175b] Allow amcheck to re-find tuples using new search.

    Add a parameter to <xref linkend="amcheck"/>'s <function>bt_index_parent_check()</function> function to check each index tuple from the root of the tree (Peter Geoghegan) amcheckbt_index_parent_check()関数に、各インデックスタプルをツリーのルートから検査するパラメータを追加しました。 (Peter Geoghegan)

  • Author: Michael Paquier <michael@paquier.xyz> 2018-08-28 [1aaf532de] Rework option set of oid2name Author: Michael Paquier <michael@paquier.xyz> 2018-08-28 [bfea331a5] Rework option set of vacuumlo

    Improve <xref linkend="oid2name"/> and <xref linkend="vacuumlo"/> option handling to match other commands (Tatsuro Yamada) oid2namevacuumloのオプション処理を他のコマンドと一致するように改善しました。 (Tatsuro Yamada)

E.4.4. 謝辞

<title>Acknowledgments</title>

The following individuals (in alphabetical order) have contributed to this release as patch authors, committers, reviewers, testers, or reporters of issues. 以下の人々(アルファベット順)はパッチ作者、コミッター、レビューア、テスターあるいは問題の報告者として本リリースに貢献しました。

Abhijit Menon-Sen
Achilleas Mantzios
Adam Berlin
Adam Bielanski
Aditya Toshniwal
Adrien Nayrat
Alan Jackson
Albert Schabhuetl
Aleksander Alekseev
Alex Aktsipetrov
Alex Kliukin
Alex Macy
Alexander Korotkov
Alexander Kukushkin
Alexander Kuzmenkov
Alexander Lakhin
Alexandra Ryzhevich
Alexey Bashtanov
Alexey Ermakov
Alexey Kondratov
Alexey Kryuchkov
Alexey Stepanov
Allison Kaptur
Álvaro Herrera
Alyssa Ross
Amit Kapila
Amit Khandekar
Amit Langote
Amul Sul
Anastasia Lubennikova
André Hänsel
Andrea Gelmini
Andreas Joseph Krogh
Andreas Karlsson
Andreas Kunert
Andreas Scherbaum
Andreas Seltenreich
Andrei Yahorau
Andres Freund
Andrew Dunstan
Andrew Fletcher
Andrew Gierth
Andrew Krasichkov
Andrey Borodin
Andrey Klychkov
Andrey Lepikhov
Andy Abelisto
Anthony Greene
Anthony Skorski
Antonin Houska
Arne Roland
Arseny Sher
Arthur Zakirov
Ash Marath
Ashutosh Bapat
Ashutosh Sharma
Ashwin Agrawal
Aya Iwata
Bartosz Polnik
Basil Bourque
Bernd Helmle
Brad DeJong
Brigitte Blanc-Lafay
Bruce Klein
Bruce Momjian
Bruno Wolff
Chapman Flack
Chen Huajun
Chris Travers
Chris Wilson
Christian Hofstaedtler
Christoph Berg
Christoph Moench-Tegeder
Clemens Ladisch
Colm McHugh
Corey Huinker
Craig Ringer
Dagfinn Ilmari Mannsåker
Daisuke Higuchi
Daniel Fiori
Daniel Gustafsson
Daniel Vérité
Daniel Westermann
Daniel Wilches
Darafei Praliaskouski
Daryl Waycott
Dave Cramer
David Binderman
David Fetter
David G. Johnston
David Rowley
David Steele
Davy Machado
Dean Rasheed
Derek Hans
Derek Nelson
Devrim Gündüz
Dian Fay
Didier Gautheron
Dilip Kumar
Dmitry Dolgov
Dmitry Marakasov
Dmitry Molotkov
Dmitry Shalashov
Don Seiler
Donald Dong
Doug Rady
Edmund Horner
Eduards Bezverhijs
Elvis Pranskevichus
Emanuel Araújo
Emre Hasegeli
Eric Cyr
Erik Rijkers
Ertugrul Kahveci
Etsuro Fujita
Eugen Konkov
Euler Taveira
Fabien Coelho
Fabrízio de Royes Mello
Feike Steenbergen
Filip Rembialkowski
Gaby Schilders
Geert Lobbestael
George Tarasov
Georgios Kokolatos
Gianni Ciolli
Gilles Darold
Greg Stark
Grigory Smolkin
Guillaume Lelarge
Gunnlaugur Thor Briem
Gurjeet Singh
Hadi Moshayedi
Hailong Li
Hans Buschmann
Haribabu Kommi
Haruka Takatsuka
Hayato Kuroda
Heikki Linnakangas
Hironobu Suzuki
Hubert Lubaczewski
Hugh Ranalli
Ian Barwick
Ibrar Ahmed
Ildar Musin
Insung Moon
Ioseph Kim
Isaac Morland
Ivan Panchenko
Jack Kelly
Jacob Champion
Jaime Casanova
Jakob Egger
Jakub Glapa
Jakub Janecek
James Coleman
James Inform
James Robinson
James Sewell
James Tomson
Jan Chochol
Jaroslav Sivy
Jean-Christophe Arnu
Jean-Marc Voillequin
Jean-Pierre Pelletier
Jeevan Chalke
Jeevan Ladhe
Jeff Davis
Jeff Janes
Jeremy Evans
Jeremy Schneider
Jeremy Smith
Jerry Jelinek
Jesper Pedersen
Jianing Yang
Jie Zhang
Jim Nasby
Jimmy Yih
Joe Conway
Joe Wildish
Joerg Sonnenberger
John Klann
John Naylor
Jonah Harris
Jonathan S. Katz
Jorge Gustavo Rocha
José Arthur Benetasso Villanova
Joshua D. Drake
Juan José Santamaría Flecha
Julian Hsiao
Julian Markwort
Julian Schauder
Julien Rouhaud
Jürgen Purtz
Jürgen Strobel
Justin Pryzby
Kaiting Chen
Karen Huddleston
Karl Czajkowski
Karl O. Pinc
Keiichi Hirobe
Keith Fiske
Ken Tanzer
Kenji Uno
Kevin Grittner
Kevin Hale Boyes
Kieran McCusker
Kirk Jamison
Kohei KaiGai
Konstantin Knizhnik
Konstantin Kuznetsov
Kristjan Tammekivi
Kuntal Ghosh
Kyle Samson
Kyotaro Horiguchi
Lætitia Avrot
Lars Kanis
Laurenz Albe
Lim Myungkyu
Liu Huailing
Liudmila Mantrova
Lloyd Albin
Luca Ferrari
Luis M. Carril
Lukas Eder
Lukas Fittl
Madelaine Thibaut
Madeleine Thompson
Magnus Hagander
Mahendra Singh
Mai Peng
Maksim Milyutin
Maksym Boguk
Malthe Borch
Manuel Rigger
Marco Atzeri
Marco Slot
Marina Polyakova
Mario De Frutos Dieguez
Marius Timmer
Mark Chambers
Mark Dilger
Marko Tiikkaja
Markus Winand
Martín Marqués
Masahiko Sawada
Masao Fujii
Mateusz Guzik
Mathias Brossard
Matt Williams
Matthias Otterbach
Matvey Arye
Melanie Plageman
Mi Tar
Michael Banck
Michael Davidson
Michael Meskes
Michael Paquier
Michael Vitale
Michel Pelletier
Mikalai Keida
Mike Palmiotto
Mithun Cy
Morgan Owens
Murat Kabilov
Nathan Bossart
Nawaz Ahmed
Neeraj Kumar
Nick Barnes
Nico Williams
Nikita Glukhov
Nikolay Shaplov
Ning Yu
Nishant Fnu
Noah Misch
Norbert Benkocs
Noriyoshi Shinoda
Oleg Bartunov
Oleg Samoilov
Oleksii Kliukin
Ondrej Bouda
Oskari Saarenmaa
Pan Bian
Patrick Francelle
Patrick McHardy
Paul A. Jungwirth
Paul Bonaud
Paul Guo
Paul Martinez
Paul Ramsey
Paul Schaap
Paul van der Linden
Pavan Deolasee
Pavel Oskin
Pavel Raiskup
Pavel Stehule
Peifeng Qiu
Peter Billen
Peter Eisentraut
Peter Geoghegan
Peter Neave
Petr Fedorov
Petr Jelínek
Petr Slavov
Petru-Florin Mihancea
Phil Bayer
Phil Florent
Philip Dubé
Pierre Ducroquet
Piotr Gabriel Kosinski
Piotr Stefaniak
Piotr Wlodarczyk
Prabhat Sahu
Quentin Rameau
Rafael Castro
Rafia Sabih
Rahila Syed
Rajkumar Raghuwanshi
Rares Salcudean
Raúl Marín Rodríguez
Regina Obe
Renaud Navarro
Richard Guo
Rick Otten
Rikard Falkeborn
RK Korlapati
Robbie Harwood
Robert Haas
Robert Treat
Robert Vollmert
Roger Curley
Roman Zharkov
Ronan Dunklau
Rui Hai Jiang
Rushabh Lathia
Ryan Lambert
Ryo Matsumura
Ryohei Nagaura
Ryohei Takahashi
Samuel Williams
Sand Stone
Sanyo Capobiango
Satoru Koizumi
Sean Johnston
Serge Latyntsev
Sergei Kornilov
Sergey Pashkov
Sergio Conde Gómez
Shawn Debnath
Shay Rojansky
Sho Kato
Shohei Mochizuki
Shouyu Luo
Simon Riggs
Sivasubramanian Ramasubramanian
Slawomir Chodnicki
Stas Kelvish
Stefan Kadow
Stepan Yankevych
Stephen Amell
Stephen Frost
Steve Rogerson
Steve Singer
Steven Winfield
Surafel Temesgen
Suraj Kharage
Suresh Kumar R
Takayuki Tsunakawa
Takeshi Ideriha
Takuma Hoshiai
Tasos Maschalidis
Tatsuo Ishii
Tatsuro Yamada
Teodor Sigaev
Thom Brown
Thomas Munro
Thomas Poty
Tillmann Schulz
Tim Möhlmann
Timur Birsh
Tobias Bussmann
Tom Cassidy
Tom Dunstan
Tom Gottfried
Tom Lane
Tomas Vondra
Tushar Ahuja
Ulf Adams
Vaishnavi Prabakaran
Victor Petrovykh
Victor Wagner
Victor Yegorov
Vijaykumar Jain
Vik Fearing
Vlad Sterzhanov
Vladimir Baranoff
Vladimir Kriukov
Wu Fei
Yaroslav Schekin
Yi Huang
Yoshikazu Imai
Yugo Nagata
Yulian Khodorkovskiy
Yuming Wang
YunQiang Su
Yuri Kurenkov
Yusuke Egashira
Yuzuko Hosoya
Zhou Digoal