== PostgreSQL Weekly News - June 9, 2019 ==

Поиск
Список
Период
Сортировка
От David Fetter
Тема == PostgreSQL Weekly News - June 9, 2019 ==
Дата
Msg-id 20190609171950.GA9088@fetter.org
обсуждение исходный текст
Список pgsql-announce
== PostgreSQL Weekly News - June  9, 2019 ==

PostgresOpen will be September 11th - 13th, 2019 in Orlando, Florida at the
Rosen Centre Hotel.  The CfP is open at https://2019.postgresopen.org/callforpapers/
https://2019.postgresopen.org/

== PostgreSQL Product News ==

pgAdmin4 4.8, a web- and native GUI control center for PostgreSQL, released.
https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_8.html

pgFormatter 4.0, a formatter/beautifier for SQL code, released.
http://sqlformat.darold.net/

== PostgreSQL Jobs for June ==

http://archives.postgresql.org/pgsql-jobs/2019-06/

== PostgreSQL Local ==

pgibz will be held in Ibiza, Spain on June 19-23, 2019. The CfP is open.
https://pgibz.io/

Swiss PGDay 2019 will take place in Rapperswil (near Zurich) on June 28, 2019.
Registration is open.
http://www.pgday.ch/2019/

PostgresLondon 2019 will be July 2-3, 2019 with an optional training day on
July 1.
http://postgreslondon.org

PGConf.Brazil 2019 will take place August 1-3, 2019 in São Paulo.
http://pgconf.com.br

The first Austrian pgDay, will take place September 6, 2019 at the Hilton Garden
Inn in Wiener Neustadt.
https://pgday.at/en/

PostgresConf South Africa 2019 will take place in Johannesburg on October 8-9, 2019
The Call for Papers is open through June 30, 2019.
https://postgresconf.org/conferences/SouthAfrica2019

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm PST8PDT to david@fetter.org.

== Applied Patches ==

Tom Lane pushed:

- Make cpluspluscheck more portable. Teach it to scrape -I and -D switches from
  CPPFLAGS in Makefile.global. This is useful for testing on, eg, FreeBSD, where
  you won't get far without "-I/usr/local/include".  Also, expand the set of
  blacklisted-for-unportability atomics headers, based on noting that arch-x86.h
  fails to compile on an ARM box.  The other ones I'd omitted seem to compile
  all right on architectures they don't belong to, but that's surely too shaky
  to rely on.  Let's do like we did for the src/include/port/ headers, and
  ignore all except the variant that's pulled in by the arch-independent header.
  https://git.postgresql.org/pg/commitdiff/f4755a2c01486519cfce5b21ab04529ad26f5ed1

- Fix unsafe memory management in CloneRowTriggersToPartition(). It's not really
  supported to call systable_getnext() in a different memory context than
  systable_beginscan() was called in, and it's *definitely* not safe to do so
  and then reset that context between calls.  I'm not very clear on how this
  code survived CLOBBER_CACHE_ALWAYS testing ... but Alexander Lakhin found a
  case that would crash it pretty reliably.  Per bug #15828.  Fix, and backpatch
  to v11 where this code came in.  Discussion:
  https://postgr.es/m/15828-f6ddd7df4852f473@postgresql.org
  https://git.postgresql.org/pg/commitdiff/eaf0292c3ba7acac2735f99a8988bd49a26112f5

- Fix contrib/auto_explain to not cause problems in parallel workers. A parallel
  worker process should not be making any decisions of its own about whether to
  auto-explain.  If the parent session process passed down flags asking for
  instrumentation data, do that, otherwise not.  Trying to enable
  instrumentation anyway leads to bugs like the "could not find key N in shm
  TOC" failure reported in bug #15821 from Christian Hofstaedtler.  We can
  implement this cheaply by piggybacking on the existing logic for not doing
  anything when we've chosen not to sample a statement.  While at it, clean up
  some tin-eared coding related to the sampling feature, including an off-by-one
  error that meant that asking for 1.0 sampling rate didn't actually result in
  sampling every statement.  Although the specific case reported here only
  manifested in >= v11, I believe that related misbehaviors can be demonstrated
  in any version that has parallel query; and the off-by-one error is certainly
  there back to 9.6 where that feature was added.  So back-patch to 9.6.
  Discussion: https://postgr.es/m/15821-5eb422e980594075@postgresql.org
  https://git.postgresql.org/pg/commitdiff/2cd4e835701e15f5e32dd8bde488f8669ddf7ae8

Michaël Paquier pushed:

- Fix some issues and improve psql completion for access methods. The following
  issues have been spotted: - CREATE INDEX .. USING suggests both index and
  table AMs, but it should consider only index AMs. - CREATE TABLE .. USING has
  no completion support.  USING was not being included in the completion list
  where it should, and follow-up suggestions for table AMs have been missing as
  well. - CREATE ACCESS METHOD .. TYPE suggests only INDEX, with TABLE missing.
  Author: Michael Paquier Discussion:
  https://postgr.es/m/20190601191007.GC1905@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/0240a00fbd4fd14f577edf8d36a032237fd0b9cb

- Fix typos in various places. Author: Andrea Gelmini Reviewed-by: Michael
  Paquier, Justin Pryzby Discussion:
  https://postgr.es/m/20190528181718.GA39034@glet
  https://git.postgresql.org/pg/commitdiff/1fb6f62a84041b668fd9e85a2f33bb3a0fd28fdc

- Fix some typos and inconsistencies in tableam.h. The defined callback
  definitions have been using references to heap for a couple of variables and
  comments.  This makes the whole interface more consistent by using "table"
  which is more generic.  A variable storing index information was misspelled as
  well.  Author: Michael Paquier Discussion:
  https://postgr.es/m/20190601190946.GB1905@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/041a2642e51eb008351435709dcb054760a43bb9

- Rework code using list_delete_cell() in MergeAttributes. When merging two
  attributes, we are sure that at least one remains. However, when deleting one
  element in the attribute list we may finish with an empty list returned as NIL
  by list_delete_cell(), but the code failed to track that, which is not
  project-like.  Adjust the call so as we check for an empty list, and make use
  of it in an assertion.  This has been introduced by e7b3349, when adding
  support for CREATE TABLE OF.  Author: Mark Dilger Reviewed-by: Álvaro Herrera,
  Michael Paquier Discussion:
  https://postgr.es/m/CAE-h2TpPDqSWgOvfvSziOaMngMPwW+QZcmPpY8hQ_KOJ2+3hXQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/f7e954ad1cf99a65b1785d999058898a6d56e014

- Add forgotten translatable string in pg_checksums.c. Oversight in commit
  280e5f1.  Author: Kyotaro Horiguchi Discussion:
  https://postgr.es/m/20190606.200612.110313249.horikyota.ntt@gmail.com
  https://git.postgresql.org/pg/commitdiff/438e51987dcc21ca7ce28c6d1a4e58b0249eb690

- Improve some comments in pg_checksums about the needed clean shutdown. It was
  not clear from the code why it is necessary.  And we need a clean shutdown to
  avoid random checksum failures caused by torn pages.  Author: Masahiko Sawada
  Discussion:
  https://postgr.es/m/CAD21AoDum5MbAb7F=pa9dOD1W2tukuDMPzWT7NjZceNoWB_6Qw@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/84d4de97e8d14469974eb488730a13f942aa787a

- Move be-gssapi-common.h into src/include/libpq/. The file has been introduced
  in src/backend/libpq/ as of b0b39f72, but all backend-side headers of libpq
  are located in src/include/libpq/. Note that the identification path on top of
  the file referred to src/include/libpq/ from the start.  Author: Michael
  Paquier Reviewed-by: Stephen Frost Discussion:
  https://postgr.es/m/20190607043415.GE1736@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/35b2d4bc0eb5d61a2a294ccb6b2e4abdad307604

- Fix some typos. Author: Guillaume Lelarge Discussion:
  https://postgr.es/m/CAECtzeWPz4JikzUqZdMjqPTe8dAP3nZxPD-58Y-Hhvirg0fF+A@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/b880e22de4b2543f1c1db758bca4b2135525e87a

- Switch position of some declarations in libpq.h. This makes the header more
  consistent with the surroundings, with declarations associated to a given file
  grouped together.  Author: Daniel Gustafsson Discussion:
  https://postgr.es/m/20190608012439.GB7228@paquier.xyz
  https://git.postgresql.org/pg/commitdiff/cf4263cc6c3a2310de4f1540745990e62fa2312c

Peter Eisentraut pushed:

- Update SQL conformance information about JSON path. Reviewed-by: Oleg Bartunov
  <obartunov@postgrespro.ru>
  https://git.postgresql.org/pg/commitdiff/05d36b68ed011d112ee287b1fedd981c73a48f85

- Add command column to pg_stat_progress_create_index. This allows determining
  which command is running, similar to pg_stat_progress_cluster.  Discussion:
  https://www.postgresql.org/message-id/flat/f0e56b3b-74b7-6cbc-e207-a5ed6bee18dc%402ndquadrant.com
  https://git.postgresql.org/pg/commitdiff/c880096dc1e14b62610aa34bc98db226fa134260

- doc: Fix whitespace. Verbatim environment tags should not be indented.
  https://git.postgresql.org/pg/commitdiff/ece9dc40d6d77a8607e72931510e30cfdfb78fd4

- doc: Add links to tables. Formal tables should generally have an xref in the
  text that points to them.  Add them here.
  https://git.postgresql.org/pg/commitdiff/b250898c76f3a04421656f1bd8c5c520de02046d

- pg_waldump: Fix invalid option handling. Previously, running pg_waldump with
  an invalid option (pg_waldump --foo) would print the help output and exit
  successfully.  This was because it tried to process the option letter '?' as a
  normal option, but that letter is used by getopt() to report an invalid
  option.  To fix, process help and version options separately, like we do
  everywhere else.  Also add a basic test suite for pg_waldump and run the basic
  option handling tests, which would have caught this.
  https://git.postgresql.org/pg/commitdiff/f65eced25118aab29804debc4e0b9a67f4d043ad

Álvaro Herrera pushed:

- Document piecemeal construction of partitioned indexes. Continuous operation
  cannot be achieved without applying this technique, so it needs to be properly
  described.  Author: Álvaro Herrera Reported-by: Tom Lane Discussion:
  https://postgr.es/m/8756.1556302759@sss.pgh.pa.us
  https://git.postgresql.org/pg/commitdiff/5efd604ec0a3bdde98fe19d8cada69ab4ef80db3

- Fix message style. Mark one message not for translation, and prefer "cannot"
  over "may not", per commentary from Robert Haas.  Discussion:
  https://postgr.es/m/20190430145813.GA29872@alvherre.pgsql
  https://git.postgresql.org/pg/commitdiff/e8bdea58f960eac669ebac01dc3865606dd7b453

- Fix default_tablespace usage for partitioned tables. In commit 87259588d0ab I
  (Álvaro) tried to rationalize the determination of tablespace to use for
  partitioned tables, but failed to handle the default_tablespace case.  Repair
  and add proper tests.  Author: Amit Langote, Rushabh Lathia Reported-by:
  Rushabh Lathia Reviewed-by: Amit Langote, Álvaro Herrera Discussion:
  https://postgr.es/m/CAGPqQf0cYjm1=rjxk_6gU0SjUS70=yFUAdCJLwWzh9bhNJnyVg@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/a36c84c3e4a9bee6baa740848f67a5db3fa279b0

David Rowley pushed:

- Fix incorrect index behavior in COPY FROM with partitioned tables. 86b85044e
  rewrote how COPY FROM works to allow multiple tuple buffers to exist to once
  thus allowing multi-inserts to be used in more cases with partitioned tables.
  That commit neglected to update the estate's es_result_relation_info when
  flushing the insert buffer to the partition making it possible for the index
  tuples to be added into an index on the wrong partition.  Fix this and also
  add an Assert in ExecInsertIndexTuples to help ensure that we never make this
  mistake again.  Reported-by: Haruka Takatsuka Author: Ashutosh Sharma
  Discussion: https://postgr.es/m/15832-b1bf336a4ee246b5@postgresql.org
  https://git.postgresql.org/pg/commitdiff/56b3b3838284f53c83556592e60688522155f57f

- Fix confusing NOTICE text in REINDEX CONCURRENTLY. When performing REINDEX
  TABLE CONCURRENTLY, if all of the table's indexes could not be reindexed, a
  NOTICE message claimed that the table had no indexes.  This was confusing, so
  let's change the NOTICE text to something less confusing.  In passing, also
  mention in the comment before ReindexRelationConcurrently that materialized
  views are supported too and also explain what the return value of the function
  means.  Author: Ashwin Agrawal Reviewed-by: Michael Paquier Discussion:
  https://postgr.es/m/CALfoeithHvi13p_VyR8kt9o6Pa7Z=Smi6Nfc2anHnQx5Lj8bTQ@mail.gmail.com
  https://git.postgresql.org/pg/commitdiff/e24a815c1c8550fcba5cc5aeb0d130db46570872

- Docs: concurrent builds of partitioned indexes are not supported. Document
  that CREATE INDEX CONCURRENTLY is not currently supported for indexes on
  partitioned tables.  Discussion:
  https://postgr.es/m/CAKJS1f_CErd2z9L21Q8OGLD4TgH7yw1z9MAtHTSO13sXVG-yow@mail.gmail.com
  Backpatch-through: 11
  https://git.postgresql.org/pg/commitdiff/6c0c28383749c0ade89ac70ba6dbce9af140c0a9

Heikki Linnakangas pushed:

- Fix confusion on different kinds of slots in IndexOnlyScans. We used the same
  slot to store a tuple from the index, and to store a tuple from the table.
  That's not OK. It worked with the heap, because heapam_getnextslot() stores a
  HeapTuple to the slot, and doesn't care how large the tts_values/nulls arrays
  are. But when I played with a toy table AM implementation that used a virtual
  tuple, it caused memory overruns.  In the passing, tidy up comments on the
  ioss_PscanLen fields.
  https://git.postgresql.org/pg/commitdiff/cd96389d713787b025c84869ba417c6f2f008a86

- Fix copy-pasto in freeing memory on error in vacuumlo. It's harmless to call
  PQfreemem() with a NULL argument, so the only consequence was that if
  allocating 'schema' failed, but allocating 'table' or 'field' succeeded, we
  would leak a bit of memory. That's highly unlikely to happen, so this is just
  academical, but let's get it right.  Per bug #15838 from Timur Birsh.
  Backpatch back to 9.5, where the PQfreemem() calls were introduced.
  Discussion:
  https://www.postgresql.org/message-id/15838-3221652c72c5e69d@postgresql.org
  https://git.postgresql.org/pg/commitdiff/77b68e3a4f854d95350a3366ecfc8b3b506ebaa7

Amit Kapila pushed:

- Fix inconsistency in comments atop ExecParallelEstimate. When this code was
  initially introduced in commit d1b7c1ff, the structure used was
  SharedPlanStateInstrumentation, but later when it got changed to
  Instrumentation structure in commit b287df70, we forgot to update the comment.
  Reported-by: Wu Fei Author: Wu Fei Reviewed-by: Amit Kapila Backpatch-through:
  9.6 Discussion:
  https://postgr.es/m/52E6E0843B9D774C8C73D6CF64402F0562215EB2@G08CNEXMBPEKD02.g08.fujitsu.local
  https://git.postgresql.org/pg/commitdiff/d8261595bc6f5189896cdce6861915ac23830e7c

- Fix assorted inconsistencies. There were a number of issues in the recent
  commits which include typos, code and comments mismatch, leftover function
  declarations.  Fix them.  Reported-by: Alexander Lakhin Author: Alexander
  Lakhin, Amit Kapila and Amit Langote Reviewed-by: Amit Kapila Discussion:
  https://postgr.es/m/ef0c0232-0c1d-3a35-63d4-0ebd06e31387@gmail.com
  https://git.postgresql.org/pg/commitdiff/92c4abc73693690ce9ff13ede160f0dcb0a2de7b

Noah Misch pushed:

- Stop using spelling "nonexistant". The documentation used "nonexistent"
  exclusively, and the source tree used it three times as often as
  "nonexistant".
  https://git.postgresql.org/pg/commitdiff/f2c71cb71fe186dcf8ebec967f98d1c7c4777943

- Update stale comments, and fix comment typos.
  https://git.postgresql.org/pg/commitdiff/31d250e049b4e3d51a635edaa2221c11815e40e7

- Update documentation about SIGKILL of postmaster. Removing shared memory and
  semaphores in response to server start failure often masks the real problem, a
  live process associated with the data directory; see commit
  5a907404b52753c4d6c6a7c21765aeaa42fd6a3b. Since 9.6, it's rarely necessary to
  kill subprocesses manually.  (When it is necessary, that commit's HINT will
  say as much, in all supported versions.)
  https://git.postgresql.org/pg/commitdiff/a806b14a1139d3443a7c2c263abb9ff8e4a65694

== Pending Patches ==

Haribabu Kommi sent in another revision of a patch to add support to libpq to
connect to a standby server as priority.

Philip Dubé sent in a patch to ruleutils to fix subqueries with shadowed
aliases.

Dmitry Dolgov sent in another revision of a patch to implement index skip scan.

Peter Eisentraut sent in a patch to fix runtime errors from -fsanitize-undefined.

Melanie Plageman sent in two revisions of a patch to add sort support for
macaddr8.

didier sent in a patch to fix a JIT deform failure.

Peter Eisentraut sent in a patch to update the list of combining characters.

Ashwin Agrawal sent in two more revisions of a patch to fix a confusing error
message for REINDEX TABLE CONCURRENTLY.

Martijn van Oosterhout sent in two revisions of a patch to improve the
performance of NOTIFY over many databases.

Robert Haas and Amit Langote traded patches to fix a memory leak in DDL.

Peter Eisentraut sent in a patch to add a LOCALE option to CREATE DATABASE.

Vignesh C sent in a patch to fix a pg_basebackup failure after setting
default_table_access_method option.

Melanie Plageman sent in another revision of a patch to add a test for
the abort case of speculative insert.

Etsuro Fujita sent in another revision of a patch to postgres_fdw: Fix costing
of pre-sorted foreign paths with local stats.

Peter Eisentraut sent in a patch to unwind some workarounds for lack of portable
int64 format specifier and remove unnecessary casts from size_t to int.

Dmitry Dolgov sent in another revision of a patch to implement generic type
subscripting and use same in arrays and JSONB.

Tomáš Vondra sent in another revision of a patch to split pg_statistic_ext into
definition + data, update the docs to reflect those changes, and define a
pg_stats_ext view similar to pg_stats.

Robert Haas sent in three revisions of a patch to tableam which abstract out the
relation sizing code.

Ian Barwick sent in two revisions of a patch to document
pg_trgm.strict_word_similarity_threshold.

David Rowley sent in five more revisions of a patch to warn about using too many
partitions.

Masahiko Sawada sent in another revision of a patch to implement block-level
parallel vacuum.

Kyotaro HORIGUCHI sent in a patch to fix some inconsistent wording in the
descriptions of GUCs.

Masahiko Sawada sent in a patch to document the fact that ALTER TABLE .. ADD
COLUMN ... can now take a GENERATED specification.

Adrien Nayrat sent in a patch to document the new snowball stemmer dictionaries.

Robert Haas sent in two revisions of a patch to tableam to fix some
inconsistencies in parameter names in index_build_range_scan,
table_scan_analyze_next_tuple, and index_build_range_scan.

Amit Kapila sent in another revision of a patch to fix assorted inconsistencies.

Kuntal Ghosh sent in a patch to make pg_index tuple updates transactional.





В списке pgsql-announce по дате отправления:

Предыдущее
От: PostgreSQL Ibiza
Дата:
Сообщение: PostgreSQL Ibiza Conference: talks schedule
Следующее
От: Daniele Varrazzo
Дата:
Сообщение: psycopg 2.8.3 released