Skip to content
Snippets Groups Projects
  1. Aug 01, 2016
    • Tom Lane's avatar
      Doc: remove claim that hash index creation depends on effective_cache_size. · de818d4c
      Tom Lane authored
      This text was added by commit ff213239, and not long thereafter obsoleted
      by commit 4adc2f72 (which made the test depend on NBuffers instead); but
      nobody noticed the need for an update.  Commit 9563d5b5 adds some further
      dependency on maintenance_work_mem, but the existing verbiage seems to
      cover that with about as much precision as we really want here.  Let's
      just take it all out rather than leaving ourselves open to more errors of
      omission in future.  (That solution makes this change back-patchable, too.)
      
      Noted by Peter Geoghegan.
      
      Discussion: <CAM3SWZRVANbj9GA9j40fAwheQCZQtSwqTN1GBTVwRrRbmSf7cg@mail.gmail.com>
      de818d4c
  2. Jul 30, 2016
  3. Jul 28, 2016
    • Tom Lane's avatar
      Improve documentation about CREATE TABLE ... LIKE. · a9a99818
      Tom Lane authored
      The docs failed to explain that LIKE INCLUDING INDEXES would not preserve
      the names of indexes and associated constraints.  Also, it wasn't mentioned
      that EXCLUDE constraints would be copied by this option.  The latter
      oversight seems enough of a documentation bug to justify back-patching.
      
      In passing, do some minor copy-editing in the same area, and add an entry
      for LIKE under "Compatibility", since it's not exactly a faithful
      implementation of the standard's feature.
      
      Discussion: <20160728151154.AABE64016B@smtp.hushmail.com>
      a9a99818
    • Fujii Masao's avatar
      Fix incorrect description of udt_privileges view in documentation. · 5e50a671
      Fujii Masao authored
      The description of udt_privileges view contained an incorrect copy-pasted word.
      
      Back-patch to 9.2 where udt_privileges view was added.
      
      Author: Alexander Law
      5e50a671
  4. Jul 26, 2016
    • Tom Lane's avatar
      Fix constant-folding of ROW(...) IS [NOT] NULL with composite fields. · bcdd8a19
      Tom Lane authored
      The SQL standard appears to specify that IS [NOT] NULL's tests of field
      nullness are non-recursive, ie, we shouldn't consider that a composite
      field with value ROW(NULL,NULL) is null for this purpose.
      ExecEvalNullTest got this right, but eval_const_expressions did not,
      leading to weird inconsistencies depending on whether the expression
      was such that the planner could apply constant folding.
      
      Also, adjust the docs to mention that IS [NOT] DISTINCT FROM NULL can be
      used as a substitute test if a simple null check is wanted for a rowtype
      argument.  That motivated reordering things so that IS [NOT] DISTINCT FROM
      is described before IS [NOT] NULL.  In HEAD, I went a bit further and added
      a table showing all the comparison-related predicates.
      
      Per bug #14235.  Back-patch to all supported branches, since it's certainly
      undesirable that constant-folding should change the semantics.
      
      Report and patch by Andrew Gierth; assorted wordsmithing and revised
      regression test cases by me.
      
      Report: <20160708024746.1410.57282@wrigleys.postgresql.org>
      bcdd8a19
  5. Jul 15, 2016
  6. Jul 11, 2016
  7. Jul 02, 2016
    • Bruce Momjian's avatar
      doc: mention dependency on collation libraries · cfb33bc3
      Bruce Momjian authored
      Document that index storage is dependent on the operating system's
      collation library ordering, and any change in that ordering can create
      invalid indexes.
      
      Discussion: 20160617154311.GB19359@momjian.us
      
      Backpatch-through: 9.1
      cfb33bc3
  8. Jun 22, 2016
    • Tom Lane's avatar
      Document that dependency tracking doesn't consider function bodies. · 85743887
      Tom Lane authored
      If there's anyplace in our SGML docs that explains this behavior, I can't
      find it right at the moment.  Add an explanation in "Dependency Tracking"
      which seems like the authoritative place for such a discussion.  Per
      gripe from Michelle Schwan.
      
      While at it, update this section's example of a dependency-related
      error message: they last looked like that in 8.3.  And remove the
      explanation of dependency updates from pre-7.3 installations, which
      is probably no longer worth anybody's brain cells to read.
      
      The bogus error message example seems like an actual documentation bug,
      so back-patch to all supported branches.
      
      Discussion: <20160620160047.5792.49827@wrigleys.postgresql.org>
      85743887
  9. Jun 19, 2016
    • Tom Lane's avatar
      Docs: improve description of psql's %R prompt escape sequence. · 09e592b3
      Tom Lane authored
      Dilian Palauzov pointed out in bug #14201 that the docs failed to mention
      the possibility of %R producing '(' due to an unmatched parenthesis.
      
      He proposed just adding that in the same style as the other options were
      listed; but it seemed to me that the sentence was already nearly
      unintelligible, so I rewrote it a bit more extensively.
      
      Report: <20160619121113.5789.68274@wrigleys.postgresql.org>
      09e592b3
  10. Jun 09, 2016
    • Tom Lane's avatar
      Clarify documentation of ceil/ceiling/floor functions. · a36c8219
      Tom Lane authored
      Document these as "nearest integer >= argument" and "nearest integer <=
      argument", which will hopefully be less confusing than the old formulation.
      New wording is from Matlab via Dean Rasheed.
      
      I changed the pg_description entries as well as the SGML docs.  In the
      back branches, this will only affect installations initdb'd in the future,
      but it should be harmless otherwise.
      
      Discussion: <CAEZATCW3yzJo-NMSiQs5jXNFbTsCEftZS-Og8=FvFdiU+kYuSA@mail.gmail.com>
      a36c8219
  11. May 20, 2016
  12. May 14, 2016
  13. May 07, 2016
  14. May 04, 2016
  15. Apr 16, 2016
  16. Apr 06, 2016
  17. Mar 30, 2016
  18. Mar 28, 2016
  19. Feb 29, 2016
  20. Feb 21, 2016
  21. Feb 18, 2016
    • Tom Lane's avatar
      Fix multiple bugs in contrib/pgstattuple's pgstatindex() function. · 29f29972
      Tom Lane authored
      Dead or half-dead index leaf pages were incorrectly reported as live, as a
      consequence of a code rearrangement I made (during a moment of severe brain
      fade, evidently) in commit d287818e.
      
      The index metapage was not counted in index_size, causing that result to
      not agree with the actual index size on-disk.
      
      Index root pages were not counted in internal_pages, which is inconsistent
      compared to the case of a root that's also a leaf (one-page index), where
      the root would be counted in leaf_pages.  Aside from that inconsistency,
      this could lead to additional transient discrepancies between the reported
      page counts and index_size, since it's possible for pgstatindex's scan to
      see zero or multiple pages marked as BTP_ROOT, if the root moves due to
      a split during the scan.  With these fixes, index_size will always be
      exactly one page more than the sum of the displayed page counts.
      
      Also, the index_size result was incorrectly documented as being measured in
      pages; it's always been measured in bytes.  (While fixing that, I couldn't
      resist doing some small additional wordsmithing on the pgstattuple docs.)
      
      Including the metapage causes the reported index_size to not be zero for
      an empty index.  To preserve the desired property that the pgstattuple
      regression test results are platform-independent (ie, BLCKSZ configuration
      independent), scale the index_size result in the regression tests.
      
      The documentation issue was reported by Otsuka Kenji, and the inconsistent
      root page counting by Peter Geoghegan; the other problems noted by me.
      Back-patch to all supported branches, because this has been broken for
      a long time.
      29f29972
  22. Feb 16, 2016
    • Tom Lane's avatar
      Improve documentation about CREATE INDEX CONCURRENTLY. · 528db6ab
      Tom Lane authored
      Clarify the description of which transactions will block a CREATE INDEX
      CONCURRENTLY command from proceeding, and mention that the index might
      still not be usable after CREATE INDEX completes.  (This happens if the
      index build detected broken HOT chains, so that pg_index.indcheckxmin gets
      set, and there are open old transactions preventing the xmin horizon from
      advancing past the index's initial creation.  I didn't want to explain what
      broken HOT chains are, though, so I omitted an explanation of exactly when
      old transactions prevent the index from being used.)
      
      Per discussion with Chris Travers.  Back-patch to all supported branches,
      since the same text appears in all of them.
      528db6ab
    • Tatsuo Ishii's avatar
      Improve wording in the planner doc · 779c46a3
      Tatsuo Ishii authored
      Change "In this case" to "In the example above" to clarify what it
      actually refers to.
      779c46a3
    • Fujii Masao's avatar
      Correct the formulas for System V IPC parameters SEMMNI and SEMMNS in docs. · 8a96651c
      Fujii Masao authored
      In runtime.sgml, the old formulas for calculating the reasonable
      values of SEMMNI and SEMMNS were incorrect. They have forgotten to
      count the number of semaphores which both the checkpointer process
      (introduced in 9.2) and the background worker processes (introduced
      in 9.3) need.
      
      This commit fixes those formulas so that they count the number of
      semaphores which the checkpointer process and the background worker
      processes need.
      
      Report and patch by Kyotaro Horiguchi. Only the patch for 9.3 was
      modified by me. Back-patch to 9.2 where the checkpointer process was
      added and the number of needed semaphores was increased.
      
      Author: Kyotaro Horiguchi
      Reviewed-by: Fujii Masao
      Backpatch: 9.2
      Discussion: http://www.postgresql.org/message-id/20160203.125119.66820697.horiguchi.kyotaro@lab.ntt.co.jp
      8a96651c
  23. Feb 11, 2016
    • Noah Misch's avatar
      Accept pg_ctl timeout from the PGCTLTIMEOUT environment variable. · 4421b525
      Noah Misch authored
      Many automated test suites call pg_ctl.  Buildfarm members axolotl,
      hornet, mandrill, shearwater, sungazer and tern have failed when server
      shutdown took longer than the pg_ctl default 60s timeout.  This addition
      permits slow hosts to easily raise the timeout without us editing a
      --timeout argument into every test suite pg_ctl call.  Back-patch to 9.1
      (all supported versions) for the sake of automated testing.
      
      Reviewed by Tom Lane.
      4421b525
  24. Feb 08, 2016
  25. Feb 07, 2016
    • Tom Lane's avatar
      Improve documentation about PRIMARY KEY constraints. · ddcc256c
      Tom Lane authored
      Get rid of the false implication that PRIMARY KEY is exactly equivalent to
      UNIQUE + NOT NULL.  That was more-or-less true at one time in our
      implementation, but the standard doesn't say that, and we've grown various
      features (many of them required by spec) that treat a pkey differently from
      less-formal constraints.  Per recent discussion on pgsql-general.
      
      I failed to resist the temptation to do some other wordsmithing in the
      same area.
      ddcc256c
    • Tom Lane's avatar
      3d6c9888
  26. Jan 31, 2016
  27. Jan 02, 2016
  28. Dec 28, 2015
    • Tom Lane's avatar
      Document the exponentiation operator as associating left to right. · 7adbde26
      Tom Lane authored
      Common mathematical convention is that exponentiation associates right to
      left.  We aren't going to change the parser for this, but we could note
      it in the operator's description.  (It's already noted in the operator
      precedence/associativity table, but users might not look there.)
      Per bug #13829 from Henrik Pauli.
      7adbde26
  29. Dec 14, 2015
    • Tom Lane's avatar
      Docs: document that psql's "\i -" means read from stdin. · 6436445e
      Tom Lane authored
      This has worked that way for a long time, maybe always, but you would
      not have known it from the documentation.  Also back-patch the notes
      I added to HEAD earlier today about behavior of the "-f -" switch,
      which likewise have been valid for many releases.
      6436445e
  30. Dec 13, 2015
  31. Dec 04, 2015
    • Tom Lane's avatar
      Further improve documentation of the role-dropping process. · 255cc9b2
      Tom Lane authored
      In commit 1ea0c73c I added a section to user-manag.sgml about how to drop
      roles that own objects; but as pointed out by Stephen Frost, I neglected
      that shared objects (databases or tablespaces) may need special treatment.
      Fix that.  Back-patch to supported versions, like the previous patch.
      255cc9b2
  32. Nov 22, 2015
    • Tom Lane's avatar
      Adopt the GNU convention for handling tar-archive members exceeding 8GB. · b054ca03
      Tom Lane authored
      The POSIX standard for tar headers requires archive member sizes to be
      printed in octal with at most 11 digits, limiting the representable file
      size to 8GB.  However, GNU tar and apparently most other modern tars
      support a convention in which oversized values can be stored in base-256,
      allowing any practical file to be a tar member.  Adopt this convention
      to remove two limitations:
      * pg_dump with -Ft output format failed if the contents of any one table
      exceeded 8GB.
      * pg_basebackup failed if the data directory contained any file exceeding
      8GB.  (This would be a fatal problem for installations configured with a
      table segment size of 8GB or more, and it has also been seen to fail when
      large core dump files exist in the data directory.)
      
      File sizes under 8GB are still printed in octal, so that no compatibility
      issues are created except in cases that would have failed entirely before.
      
      In addition, this patch fixes several bugs in the same area:
      
      * In 9.3 and later, we'd defined tarCreateHeader's file-size argument as
      size_t, which meant that on 32-bit machines it would write a corrupt tar
      header for file sizes between 4GB and 8GB, even though no error was raised.
      This broke both "pg_dump -Ft" and pg_basebackup for such cases.
      
      * pg_restore from a tar archive would fail on tables of size between 4GB
      and 8GB, on machines where either "size_t" or "unsigned long" is 32 bits.
      This happened even with an archive file not affected by the previous bug.
      
      * pg_basebackup would fail if there were files of size between 4GB and 8GB,
      even on 64-bit machines.
      
      * In 9.3 and later, "pg_basebackup -Ft" failed entirely, for any file size,
      on 64-bit big-endian machines.
      
      In view of these potential data-loss bugs, back-patch to all supported
      branches, even though removal of the documented 8GB limit might otherwise
      be considered a new feature rather than a bug fix.
      b054ca03
  33. Nov 10, 2015
    • Tom Lane's avatar
      Improve our workaround for 'TeX capacity exceeded' in building PDF files. · e12a99c8
      Tom Lane authored
      In commit a5ec86a7 I wrote a quick hack
      that reduced the number of TeX string pool entries created while converting
      our documentation to PDF form.  That held the fort for awhile, but as of
      HEAD we're back up against the same limitation.  It turns out that the
      original coding of \FlowObjectSetup actually results in *three* string pool
      entries being generated for every "flow object" (that is, potential
      cross-reference target) in the documentation, and my previous hack only got
      rid of one of them.  With a little more care, we can reduce the string
      count to one per flow object plus one per actually-cross-referenced flow
      object (about 115000 + 5000 as of current HEAD); that should work until
      the documentation volume roughly doubles from where it is today.
      
      As a not-incidental side benefit, this change also causes pdfjadetex to
      stop emitting unreferenced hyperlink anchors (bookmarks) into the PDF file.
      It had been making one willy-nilly for every flow object; now it's just one
      per actually-cross-referenced object.  This results in close to a 2X
      savings in PDF file size.  We will still want to run the output through
      "jpdftweak" to get it to be compressed; but we no longer need removal of
      unreferenced bookmarks, so we might be able to find a quicker tool for
      that step.
      
      Although the failure only affects HEAD and US-format output at the moment,
      9.5 cannot be more than a few pages short of failing likewise, so it
      will inevitably fail after a few rounds of minor-version release notes.
      I don't have a lot of faith that we'll never hit the limit in the older
      branches; and anyway it would be nice to get rid of jpdftweak across the
      board.  Therefore, back-patch to all supported branches.
      e12a99c8
Loading