Skip to content
Snippets Groups Projects
  1. Aug 30, 2014
    • Andres Freund's avatar
      Make backend local tracking of buffer pins memory efficient. · 4b4b680c
      Andres Freund authored
      Since the dawn of time (aka Postgres95) multiple pins of the same
      buffer by one backend have been optimized not to modify the shared
      refcount more than once. This optimization has always used a NBuffer
      sized array in each backend keeping track of a backend's pins.
      
      That array (PrivateRefCount) was one of the biggest per-backend memory
      allocations, depending on the shared_buffers setting. Besides the
      waste of memory it also has proven to be a performance bottleneck when
      assertions are enabled as we make sure that there's no remaining pins
      left at the end of transactions. Also, on servers with lots of memory
      and a correspondingly high shared_buffers setting the amount of random
      memory accesses can also lead to poor cpu cache efficiency.
      
      Because of these reasons a backend's buffers pins are now kept track
      of in a small statically sized array that overflows into a hash table
      when necessary. Benchmarks have shown neutral to positive performance
      results with considerably lower memory usage.
      
      Patch by me, review by Robert Haas.
      
      Discussion: 20140321182231.GA17111@alap3.anarazel.de
      4b4b680c
    • Bruce Momjian's avatar
      Update C comment for pg_attribute.attislocal · c6eaa880
      Bruce Momjian authored
      Indicates if column has ever been local/non-inherited
      c6eaa880
  2. Aug 29, 2014
    • Bruce Momjian's avatar
      pg_is_xlog_replay_paused(): remove super-user-only restriction · 01363bea
      Bruce Momjian authored
      Also update docs to mention which function are super-user-only.
      
      Report by sys-milan@statpro.com
      
      Backpatch through 9.4
      01363bea
    • Heikki Linnakangas's avatar
      Fix bug in compressed GIN data leaf page splitting code. · 88231ec5
      Heikki Linnakangas authored
      The list of posting lists it's dealing with can contain placeholders for
      deleted posting lists. The placeholders are kept around so that they can
      be WAL-logged, but we must be careful to not try to access them.
      
      This fixes bug #11280, reported by Mårten Svantesson. Backpatch to 9.4,
      where the compressed data leaf page code was added.
      88231ec5
    • Peter Eisentraut's avatar
      Assorted message improvements · 65c9dc23
      Peter Eisentraut authored
      65c9dc23
    • Peter Eisentraut's avatar
      doc: Revert ALTER TABLESPACE summary line · 14b7c8f2
      Peter Eisentraut authored
      It was changed when ALTER TABLESPACE / MOVE was added but then not
      updated when that was moved back out.
      14b7c8f2
    • Tom Lane's avatar
      Add min and max aggregates for inet/cidr data types. · 6c40f831
      Tom Lane authored
      Haribabu Kommi, reviewed by Muhammad Asif Naeem
      6c40f831
    • Noah Misch's avatar
      Always use our getaddrinfo.c on Windows. · ec544a65
      Noah Misch authored
      Commit a16bac36 let "configure" detect
      the system getaddrinfo() when building under 64-bit MinGW-w64.  However,
      src/include/port/win32/sys/socket.h assumes all native Windows
      configurations use our replacement.  This change placates buildfarm
      member jacana until we establish a plan for getaddrinfo() on Windows.
      ec544a65
    • Tom Lane's avatar
      Fix citext upgrade script for disallowance of oidvector element assignment. · 7f7eec89
      Tom Lane authored
      In commit 45e02e32, we intentionally
      disallowed updates on individual elements of oidvector columns.  While that
      still seems like a sane idea in the abstract, we (I) forgot that citext's
      "upgrade from unpackaged" script did in fact perform exactly such updates,
      in order to fix the problem that citext indexes should have a collation
      but would not in databases dumped or upgraded from pre-9.1 installations.
      
      Even if we wanted to add casts to allow such updates, there's no practical
      way to do so in the back branches, so the only real alternative is to make
      citext's kluge even klugier.  In this patch, I cast the oidvector to text,
      fix its contents with regexp_replace, and cast back to oidvector.  (Ugh!)
      
      Since the aforementioned commit went into all active branches, we have to
      fix this in all branches that contain the now-broken update script.
      
      Per report from Eric Malm.
      7f7eec89
  3. Aug 28, 2014
    • Fujii Masao's avatar
      Revert "Allow units to be specified in relation option setting value." · 9df49266
      Fujii Masao authored
      This reverts commit e23014f3.
      
      As the side effect of the reverted commit, when the unit is
      specified, the reloption was stored in the catalog with the unit.
      This broke pg_dump (specifically, it prevented pg_dump from
      outputting restorable backup regarding the reloption) and
      turned the buildfarm red. Revert the commit until the fixed
      version is ready.
      9df49266
    • Andres Freund's avatar
      Allow escaping of option values for options passed at connection start. · 11a020eb
      Andres Freund authored
      This is useful to allow to set GUCs to values that include spaces;
      something that wasn't previously possible. The primary case motivating
      this is the desire to set default_transaction_isolation to 'repeatable
      read' on a per connection basis, but other usecases like seach_path do
      also exist.
      
      This introduces a slight backward incompatibility: Previously a \ in
      an option value would have been passed on literally, now it'll be
      taken as an escape.
      
      The relevant mailing list discussion starts with
      20140204125823.GJ12016@awork2.anarazel.de.
      11a020eb
    • Fujii Masao's avatar
      Allow units to be specified in relation option setting value. · e23014f3
      Fujii Masao authored
      This introduces an infrastructure which allows us to specify the units
      like ms (milliseconds) in integer relation option, like GUC parameter.
      Currently only autovacuum_vacuum_cost_delay reloption can accept
      the units.
      
      Reviewed by Michael Paquier
      e23014f3
    • Jeff Davis's avatar
      Allow multibyte characters as escape in SIMILAR TO and SUBSTRING. · 8167a388
      Jeff Davis authored
      Previously, only a single-byte character was allowed as an
      escape. This patch allows it to be a multi-byte character, though it
      still must be a single character.
      
      Reviewed by Heikki Linnakangas and Tom Lane.
      8167a388
    • Alvaro Herrera's avatar
      Fix FOR UPDATE NOWAIT on updated tuple chains · 1c9701cf
      Alvaro Herrera authored
      If SELECT FOR UPDATE NOWAIT tries to lock a tuple that is concurrently
      being updated, it might fail to honor its NOWAIT specification and block
      instead of raising an error.
      
      Fix by adding a no-wait flag to EvalPlanQualFetch which it can pass down
      to heap_lock_tuple; also use it in EvalPlanQualFetch itself to avoid
      blocking while waiting for a concurrent transaction.
      
      Authors: Craig Ringer and Thomas Munro, tweaked by Álvaro
      http://www.postgresql.org/message-id/51FB6703.9090801@2ndquadrant.com
      
      Per Thomas Munro in the course of his SKIP LOCKED feature submission,
      who also provided one of the isolation test specs.
      
      Backpatch to 9.4, because that's as far back as it applies without
      conflicts (although the bug goes all the way back).  To that branch also
      backpatch Thomas Munro's new NOWAIT test cases, committed in master by
      Heikki as commit 9ee16b49 .
      1c9701cf
  4. Aug 27, 2014
    • Fujii Masao's avatar
      Add header comments to receivelog.h and streamutil.h. · 9a2d9489
      Fujii Masao authored
      This commit also adds the include guards to those header files.
      
      Michael Paquier
      9a2d9489
    • Stephen Frost's avatar
      Fix Var handling for security barrier views · e414ba93
      Stephen Frost authored
      In some cases, not all Vars were being correctly marked as having been
      modified for updatable security barrier views, which resulted in invalid
      plans (eg: when security barrier views were created over top of
      inheiritance structures).
      
      In passing, be sure to update both varattno and varonattno, as _equalVar
      won't consider the Vars identical otherwise.  This isn't known to cause
      any issues with updatable security barrier views, but was noticed as
      missing while working on RLS and makes sense to get fixed.
      
      Back-patch to 9.4 where updatable security barrier views were
      introduced.
      e414ba93
    • Peter Eisentraut's avatar
      doc: Document valid checkpoint_timeout range · 8e484bc4
      Peter Eisentraut authored
      Author: Fabien COELHO <coelho@cri.ensmp.fr>
      8e484bc4
  5. Aug 26, 2014
  6. Aug 25, 2014
Loading