Skip to content
Snippets Groups Projects
  1. Jun 23, 2016
  2. Jun 22, 2016
    • Tom Lane's avatar
      Fix type-safety problem with parallel aggregate serial/deserialization. · f8ace547
      Tom Lane authored
      The original specification for this called for the deserialization function
      to have signature "deserialize(serialtype) returns transtype", which is a
      security violation if transtype is INTERNAL (which it always would be in
      practice) and serialtype is not (which ditto).  The patch blithely overrode
      the opr_sanity check for that, which was sloppy-enough work in itself,
      but the indisputable reason this cannot be allowed to stand is that CREATE
      FUNCTION will reject such a signature and thus it'd be impossible for
      extensions to create parallelizable aggregates.
      
      The minimum fix to make the signature type-safe is to add a second, dummy
      argument of type INTERNAL.  But to lock it down a bit more and make misuse
      of INTERNAL-accepting functions less likely, let's get rid of the ability
      to specify a "serialtype" for an aggregate and just say that the only
      useful serialtype is BYTEA --- which, in practice, is the only interesting
      value anyway, due to the usefulness of the send/recv infrastructure for
      this purpose.  That means we only have to allow "serialize(internal)
      returns bytea" and "deserialize(bytea, internal) returns internal" as
      the signatures for these support functions.
      
      In passing fix bogus signature of int4_avg_combine, which I found thanks
      to adding an opr_sanity check on combinefunc signatures.
      
      catversion bump due to removing pg_aggregate.aggserialtype and adjusting
      signatures of assorted built-in functions.
      
      David Rowley and Tom Lane
      
      Discussion: <27247.1466185504@sss.pgh.pa.us>
      f8ace547
    • Tom Lane's avatar
      Document that dependency tracking doesn't consider function bodies. · 34292107
      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>
      34292107
  3. Jun 20, 2016
  4. Jun 19, 2016
    • Tom Lane's avatar
      Docs: improve description of psql's %R prompt escape sequence. · 705ad7f3
      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>
      705ad7f3
    • Tom Lane's avatar
      Update 9.6 release notes through today. · a3f42e85
      Tom Lane authored
      a3f42e85
  5. Jun 18, 2016
  6. Jun 17, 2016
    • Robert Haas's avatar
      pg_visibility: Add pg_truncate_visibility_map function. · 71d05a2c
      Robert Haas authored
      This requires some core changes as well so that we can properly
      WAL-log the truncation.  Specifically, it changes the format of the
      XLOG_SMGR_TRUNCATE WAL record, so bump XLOG_PAGE_MAGIC.
      
      Patch by me, reviewed but not fully endorsed by Andres Freund.
      71d05a2c
    • Robert Haas's avatar
      Add VACUUM (DISABLE_PAGE_SKIPPING) for emergencies. · ede62e56
      Robert Haas authored
      If you really want to vacuum every single page in the relation,
      regardless of apparent visibility status or anything else, you can use
      this option.  In previous releases, this behavior could be achieved
      using VACUUM (FREEZE), but because we can now recognize all-frozen
      pages as not needing to be frozen again, that no longer works.  There
      should be no need for routine use of this option, but maybe bugs or
      disaster recovery will necessitate its use.
      
      Patch by me, reviewed by Andres Freund.
      ede62e56
  7. Jun 16, 2016
    • Tom Lane's avatar
      Invent min_parallel_relation_size GUC to replace a hard-wired constant. · 75be6646
      Tom Lane authored
      The main point of doing this is to allow the cutoff to be set very small,
      even zero, to allow parallel-query behavior to be tested on relatively
      small tables such as we typically use in the regression tests.  But it
      might be of use to users too.  The number-of-workers scaling behavior in
      create_plain_partial_paths() is pretty ad-hoc and subject to change, so
      we won't expose anything about that, but the notion of not considering
      parallel query at all for tables below size X seems reasonably stable.
      
      Amit Kapila, per a suggestion from me
      
      Discussion: <17170.1465830165@sss.pgh.pa.us>
      75be6646
  8. Jun 15, 2016
  9. Jun 14, 2016
  10. Jun 12, 2016
  11. Jun 11, 2016
    • Andres Freund's avatar
      Change default of backend_flush_after GUC to 0 (disabled). · 4bc0f165
      Andres Freund authored
      While beneficial, both for throughput and average/worst case latency, in
      a significant number of workloads, there are other workloads in which
      backend_flush_after can cause significant performance regressions in
      comparison to < 9.6 releases. The regression is most likely when the hot
      data set is bigger than shared buffers, but significantly smaller than
      the operating system's page cache.
      
      I personally think that the benefit of enabling backend flush control is
      considerably bigger than the potential downsides, but a fair argument
      can be made that not regressing is more important than improving
      performance/latency. As the latter is the consensus, change the default
      to 0.
      
      The other settings introduced in 428b1d6b do not have the same
      potential for regressions, so leave them enabled.
      
      Benchmarks leading up to changing the default have been performed by
      Mithun Cy, Ashutosh Sharma and Robert Haas.
      
      Discussion: CAD__OuhPmc6XH=wYRm_+Q657yQE88DakN4=Ybh2oveFasHkoeA@mail.gmail.com
      4bc0f165
  12. Jun 09, 2016
    • Tom Lane's avatar
      Clarify documentation of ceil/ceiling/floor functions. · 7feb60c1
      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>
      7feb60c1
    • Robert Haas's avatar
      Eliminate "parallel degree" terminology. · c9ce4a1c
      Robert Haas authored
      This terminology provoked widespread complaints.  So, instead, rename
      the GUC max_parallel_degree to max_parallel_workers_per_gather
      (leaving room for a possible future GUC max_parallel_workers that acts
      as a system-wide limit), and rename the parallel_degree reloption to
      parallel_workers.  Rename structure members to match.
      
      These changes create a dump/restore hazard for users of PostgreSQL
      9.6beta1 who have set the reloption (or applied the GUC using ALTER
      USER or ALTER DATABASE).
      c9ce4a1c
    • Tom Lane's avatar
      Polish the documentation concerning phrase text search. · 6581e930
      Tom Lane authored
      Fix grammar, improve examples, etc.
      
      I did not attempt to document the current behavior concerning distance-zero
      matches, because I think that's broken and needs to change, so I'm not
      going to use up brain cells figuring out how to explain how it works now.
      One way or the other, there's still more to write here.
      6581e930
  13. Jun 08, 2016
  14. Jun 07, 2016
  15. Jun 03, 2016
    • Greg Stark's avatar
      Fix various common mispellings. · e1623c39
      Greg Stark authored
      Mostly these are just comments but there are a few in documentation
      and a handful in code and tests. Hopefully this doesn't cause too much
      unnecessary pain for backpatching. I relented from some of the most
      common like "thru" for that reason. The rest don't seem numerous
      enough to cause problems.
      
      Thanks to Kevin Lyda's tool https://pypi.python.org/pypi/misspellings
      e1623c39
    • Tom Lane's avatar
      Measure Bloom index signature-length reloption in bits, not words. · ee4af347
      Tom Lane authored
      Per discussion, this is a more understandable and future-proof way of
      exposing the setting to users.  On-disk, we can still store it in words,
      so as to not break on-disk compatibility with beta1.
      
      Along the way, clean up the code associated with Bloom reloptions.
      Provide explicit macros for default and maximum lengths rather than
      having magic numbers buried in multiple places in the code.  Drop
      the adjustBloomOptions() code altogether: it was useless in view of
      the fact that reloptions.c already performed default-substitution and
      range checking for the options.  Rename a couple of macros and types
      for more clarity.
      
      Discussion: <23767.1464926580@sss.pgh.pa.us>
      ee4af347
  16. May 31, 2016
  17. May 27, 2016
  18. May 26, 2016
  19. May 25, 2016
  20. May 24, 2016
    • Tom Lane's avatar
      Docs: mention pg_reload_conf() in ALTER SYSTEM reference page. · c45fb43c
      Tom Lane authored
      Takayuki Tsunakawa
      
      Discussion: <0A3221C70F24FB45833433255569204D1F578FC3@G01JPEXMBYT05>
      c45fb43c
    • Tom Lane's avatar
      In examples of Oracle PL/SQL code, use varchar2 not varchar. · 23f11dc2
      Tom Lane authored
      Oracle recommends using VARCHAR2 not VARCHAR, allegedly because they might
      someday change VARCHAR to be spec-compliant about distinguishing null from
      empty string.  (I'm not holding my breath, though.)  Our examples of PL/SQL
      code were using VARCHAR, which while not wrong is missing the pedagogical
      opportunity to talk about converting Oracle type names to Postgres.  So
      switch the examples to use VARCHAR2, and add some text about what to do
      with common Oracle type names like VARCHAR2 and NUMBER.  (There is probably
      more to be said here, but those are the ones I'm sure about offhand.)
      Per suggestion from rapg12@gmail.com.
      
      Discussion: <20160521140046.22591.24672@wrigleys.postgresql.org>
      23f11dc2
    • Teodor Sigaev's avatar
      Fix typo in docs · 6ee7fb82
      Teodor Sigaev authored
      Add missing USING BLOOM in example of contrib/bloom
      
      Nikolay Shaplov
      6ee7fb82
  21. May 21, 2016
Loading