Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

postgres-lambda-diff

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Andres Freund authored
    When using a historic snapshot for logical decoding it can validly
    happen that a relation that's in the relcache isn't visible to that
    historic snapshot.  E.g. if a newly created relation is referenced in
    the query that uses the SQL interface for logical decoding and a
    sinval reset occurs.
    
    The earlier commit that fixed the error handling for that corner case
    already improves the situation as a ERROR is better than hitting an
    assertion... But it's obviously not good enough.  So additionally
    allow that case without an error if a historic snapshot is set up -
    that won't allow an invalid entry to stay in the cache because it's a)
    already marked invalid and will thus be rebuilt during the next access
    b) the syscaches will be reset at the end of decoding.
    
    There might be prettier solutions to handle this case, but all that we
    could think of so far end up being much more complex than this quite
    simple fix.
    
    This fixes the assertion failures reported by the buildfarm (markhor,
    tick, leech) after the introduction of new regression tests in
    89fd41b3. The failure there weren't actually directly caused by
    CLOBBER_CACHE_ALWAYS but the extraordinary long runtimes due to it
    lead to sinval resets triggering the behaviour.
    
    Discussion: 22459.1418656530@sss.pgh.pa.us
    
    Backpatch to 9.4 where logical decoding was introduced.
    3fabed07
    History
    PostgreSQL Database Management System
    =====================================
    
    This directory contains the source code distribution of the PostgreSQL
    database management system.
    
    PostgreSQL is an advanced object-relational database management system
    that supports an extended subset of the SQL standard, including
    transactions, foreign keys, subqueries, triggers, user-defined types
    and functions.  This distribution also contains C language bindings.
    
    PostgreSQL has many language interfaces, many of which are listed here:
    
    	http://www.postgresql.org/download
    
    See the file INSTALL for instructions on how to build and install
    PostgreSQL.  That file also lists supported operating systems and
    hardware platforms and contains information regarding any other
    software packages that are required to build or run the PostgreSQL
    system.  Copyright and license information can be found in the
    file COPYRIGHT.  A comprehensive documentation set is included in this
    distribution; it can be read as described in the installation
    instructions.
    
    The latest version of this software may be obtained at
    http://www.postgresql.org/download/.  For more information look at our
    web site located at http://www.postgresql.org/.