1. 14 Jun, 2012 9 commits
    • Robert Haas's avatar
      During transaction cleanup, release locks before deleting files. · cd800734
      Robert Haas authored
      There's no need to hold onto the locks until the files are needed,
      and by doing it this way, we reduce the impact on other backends who
      may be awaiting locks we hold.
      
      Noah Misch
      cd800734
    • Robert Haas's avatar
      Add new function log_newpage_buffer. · 6cd015be
      Robert Haas authored
      When I implemented the ginbuildempty() function as part of
      implementing unlogged tables, I falsified the note in the header
      comment for log_newpage.  Although we could fix that up by changing
      the comment, it seems cleaner to add a new function which is
      specifically intended to handle this case.  So do that.
      6cd015be
    • Robert Haas's avatar
      Remove misplaced sanity check from heap_create(). · a475c603
      Robert Haas authored
      Even when allow_system_table_mods is not set, we allow creation of any
      type of SQL object in pg_catalog, except for relations.  And you can
      get relations into pg_catalog, too, by initially creating them in some
      other schema and then moving them with ALTER .. SET SCHEMA.  So this
      restriction, which prevents relations (only) from being created in
      pg_catalog directly, is fairly pointless.  If we need a safety mechanism
      for this, it should be placed further upstream, so that it affects all
      SQL objects uniformly, and picks up both CREATE and SET SCHEMA.
      
      For now, just rip it out, per discussion with Tom Lane.
      a475c603
    • Robert Haas's avatar
      Remove RELKIND_UNCATALOGED. · d2c86a1c
      Robert Haas authored
      This may have been important at some point in the past, but it no
      longer does anything useful.
      
      Review by Tom Lane.
      d2c86a1c
    • Robert Haas's avatar
      Make \conninfo print SSL information. · 7582e0be
      Robert Haas authored
      Alastair Turner, per suggestion from Bruce Momjian.
      7582e0be
    • Tom Lane's avatar
      Add 9.2 branch to git_changelog's list. · 80491a19
      Tom Lane authored
      80491a19
    • Tom Lane's avatar
      Flesh out RELEASE_CHANGES instructions for branching in git. · f32609db
      Tom Lane authored
      We have this info in the wiki, but it should be here too.
      f32609db
    • Tom Lane's avatar
      Stamp library minor versions for 9.3. · 357c5493
      Tom Lane authored
      This includes fixing the MSVC copy of ecpg/preproc's version info, which
      seems to have been overlooked repeatedly.  Can't we fix that so there are
      not two copies??
      357c5493
    • Tom Lane's avatar
      Stamp HEAD as 9.3devel. · bed88fce
      Tom Lane authored
      Let the hacking begin ...
      bed88fce
  2. 13 Jun, 2012 8 commits
    • Tom Lane's avatar
      Revisit error message details for JSON input parsing. · 80edfd76
      Tom Lane authored
      Instead of identifying error locations only by line number (which could
      be entirely unhelpful with long input lines), provide a fragment of the
      input text too, placing this info in a new CONTEXT entry.  Make the
      error detail messages conform more closely to style guidelines, fix
      failure to expose some of them for translation, ensure compiler can
      check formats against supplied parameters.
      80edfd76
    • Tom Lane's avatar
      Remove release note entry for reverted patch. · 0f0fba17
      Tom Lane authored
      0f0fba17
    • Tom Lane's avatar
      Revert "Reduce checkpoints and WAL traffic on low activity database server" · b8b69d89
      Tom Lane authored
      This reverts commit 18fb9d8d.  Per
      discussion, it does not seem like a good idea to allow committed changes to
      go un-checkpointed indefinitely, as could happen in a low-traffic server;
      that makes us entirely reliant on the WAL stream with no redundancy that
      might aid data recovery in case of disk failure.
      
      This re-introduces the original problem of hot-standby setups generating a
      small continuing stream of WAL traffic even when idle, but there are other
      ways to address that without compromising crash recovery, so we'll revisit
      that issue in a future release cycle.
      b8b69d89
    • Tom Lane's avatar
      Fix description of SQL-standard meaning of CREATE LOCAL TEMP TABLE. · 8b23db94
      Tom Lane authored
      I had this slightly wrong, as noted by Noah Misch.
      8b23db94
    • Tom Lane's avatar
      Deprecate use of GLOBAL and LOCAL in temp table creation. · c3bc76bd
      Tom Lane authored
      Aside from adjusting the documentation to say that these are deprecated,
      we now report a warning (not an error) for use of GLOBAL, since it seems
      fairly likely that we might change that to request SQL-spec-compliant temp
      table behavior in the foreseeable future.  Although our handling of LOCAL
      is equally nonstandard, there is no evident interest in ever implementing
      SQL modules, and furthermore some other products interpret LOCAL as
      behaving the same way we do.  So no expectation of change and no warning
      for LOCAL; but it still seems a good idea to deprecate writing it.
      
      Noah Misch
      c3bc76bd
    • Tom Lane's avatar
      Support Linux's oom_score_adj API as well as the older oom_adj API. · 93f4d7f8
      Tom Lane authored
      The simplest way to handle this is just to copy-and-paste the relevant
      code block in fork_process.c, so that's what I did. (It's possible that
      something more complicated would be useful to packagers who want to work
      with either the old or the new API; but at this point the number of such
      people is rapidly approaching zero, so let's just get the minimal thing
      done.)  Update relevant documentation as well.
      93f4d7f8
    • Bruce Momjian's avatar
      In pg_upgrade, verify that the install user has the same oid on both · b9212e37
      Bruce Momjian authored
      clusters, and make sure the new cluster has no additional users.
      
      Backpatch to 9.1.
      b9212e37
    • Peter Eisentraut's avatar
      Improve documentation of postgres -C option · c0a6f9c8
      Peter Eisentraut authored
      Clarify help (s/return/print/), and explain that this option is for
      use by other programs, not for user-facing use (it does not print
      units).
      c0a6f9c8
  3. 12 Jun, 2012 5 commits
    • Tom Lane's avatar
      Minor code review for json.c. · f871ef74
      Tom Lane authored
      Improve commenting, conform to project style for use of ++ etc.
      No functional changes.
      f871ef74
    • Robert Haas's avatar
      Mark JSON error detail messages for translation. · 36b7e3da
      Robert Haas authored
      Per gripe from Tom Lane.
      36b7e3da
    • Robert Haas's avatar
      Copy-editing of release notes. · 99b3135e
      Robert Haas authored
      Remove a couple of items that were actually back-patched bug fixes.
      Add additional details to a couple of items which lacked a description.
      Improve attributions for a couple of items I was involved with.
      A few other miscellaneous corrections.
      99b3135e
    • Tom Lane's avatar
      Ensure pg_ctl behaves sanely when data directory is not specified. · 51e61b04
      Tom Lane authored
      Commit aaa6e1de introduced multiple hazards
      in the case where pg_ctl is executed with neither a -D switch nor any
      PGDATA environment variable.  It would dump core on machines which are
      unforgiving about printf("%s", NULL), or failing that possibly give a
      rather unhelpful complaint about being unable to execute "postgres -C",
      rather than the logically prior complaint about not being told where the
      data directory is.
      
      Edmund Horner's report suggests that there is another, Windows-specific
      hazard here, but I'm not the person to fix that; it would in any case only
      be significant when trying to use a config-only PGDATA pointer.
      51e61b04
    • Tom Lane's avatar
      Fix pg_dump output to a named tar-file archive. · bf0945e8
      Tom Lane authored
      "pg_dump -Ft -f filename ..." got broken by my recent commit
      4317e024, which I fear I only tested
      in the output-to-stdout variant.
      
      Report and fix by Muhammad Asif Naeem.
      bf0945e8
  4. 11 Jun, 2012 3 commits
    • Peter Eisentraut's avatar
      pg_receivexlog: Rename option --dir to --directory · 7d754961
      Peter Eisentraut authored
      getopt_long() allows abbreviating long options, so we might as well
      give the option the full name, and users can abbreviate it how they
      like.
      
      Do some general polishing of the --help output at the same time.
      7d754961
    • Magnus Hagander's avatar
      Prevent non-streaming replication connections from being selected sync slave · 3595a71e
      Magnus Hagander authored
      This prevents a pg_basebackup backup session that just does a base
      backup (no xlog involved at all) from becoming the synchronous slave
      and thus blocking all access while it runs.
      
      Also fixes the problem when a higher priority slave shows up it would
      become the sync standby before it has reached the STREAMING state, by
      making sure we can only switch to a walsender that's actually STREAMING.
      
      Fujii Masao
      3595a71e
    • Magnus Hagander's avatar
      Revert behaviour of -x/--xlog to 9.1 semantics · 9af34cde
      Magnus Hagander authored
      To replace it, add -X/--xlog-method that allows the specification
      of fetch or stream.
      
      Do this to avoid unnecessary backwards-incompatiblity. Spotted and
      suggested by Peter Eisentraut.
      9af34cde
  5. 10 Jun, 2012 6 commits
  6. 09 Jun, 2012 1 commit
  7. 08 Jun, 2012 3 commits
  8. 07 Jun, 2012 5 commits
    • Tom Lane's avatar
      Scan the buffer pool just once, not once per fork, during relation drop. · ece01aae
      Tom Lane authored
      This provides a speedup of about 4X when NBuffers is large enough.
      There is also a useful reduction in sinval traffic, since we
      only do CacheInvalidateSmgr() once not once per fork.
      
      Simon Riggs, reviewed and somewhat revised by Tom Lane
      ece01aae
    • Peter Eisentraut's avatar
      Documentation spell and markup checking · 5baf6da7
      Peter Eisentraut authored
      5baf6da7
    • Peter Eisentraut's avatar
      Message style improvements · 5d0109bd
      Peter Eisentraut authored
      5d0109bd
    • Tom Lane's avatar
      Do unlocked prechecks in bufmgr.c loops that scan the whole buffer pool. · e8d029a3
      Tom Lane authored
      DropRelFileNodeBuffers, DropDatabaseBuffers, FlushRelationBuffers, and
      FlushDatabaseBuffers have to scan the whole shared_buffers pool because
      we have no index structure that would find the target buffers any more
      efficiently than that.  This gets expensive with large NBuffers.  We can
      shave some cycles from these loops by prechecking to see if the current
      buffer is interesting before we acquire the buffer header lock.
      Ordinarily such a test would be unsafe, but in these cases it should be
      safe because we are already assuming that the caller holds a lock that
      prevents any new target pages from being loaded into the buffer pool
      concurrently.  Therefore, no buffer tag should be changing to a value of
      interest, only away from a value of interest.  So a false negative match
      is impossible, while a false positive is safe because we'll recheck after
      acquiring the buffer lock.  Initial testing says that this speeds these
      loops by a factor of 2X to 3X on common Intel hardware.
      
      Patch for DropRelFileNodeBuffers by Jeff Janes (based on an idea of
      Heikki's); extended to the remaining sequential scans by Tom Lane
      e8d029a3
    • Simon Riggs's avatar
      Wake WALSender to reduce data loss at failover for async commit. · 2c8a4e9b
      Simon Riggs authored
      WALSender now woken up after each background flush by WALwriter, avoiding
      multi-second replication delay for an all-async commit workload.
      Replication delay reduced from 7s with default settings to 200ms and often
      much less, allowing significantly reduced data loss at failover.
      
      Andres Freund and Simon Riggs
      2c8a4e9b