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
    Heikki Linnakangas authored
    When a standby server follows the master using WAL archive, and it chooses
    a new timeline (recovery_target_timeline='latest'), it only fetches the
    timeline history file for the chosen target timeline, not any other history
    files that might be missing from pg_xlog. For example, if the current
    timeline is 2, and we choose 4 as the new recovery target timeline, the
    history file for timeline 3 is not fetched, even if it's part of this
    server's history. That's enough for the standby itself - the history file
    for timeline 4 includes timeline 3 as well - but if a cascading standby
    server wants to recover to timeline 3, it needs the history file. To fix,
    when a new recovery target timeline is chosen, try to copy any missing
    history files from the archive to pg_xlog between the old and new target
    timeline.
    
    A second similar issue was with the WAL files. When a standby recovers from
    archive, and it reaches a segment that contains a switch to a new timeline,
    recovery fetches only the WAL file labelled with the new timeline's ID. The
    file from the new timeline contains a copy of the WAL from the old timeline
    up to the point where the switch happened, and recovery recovers it from the
    new file. But in streaming replication, walsender only tries to read it
    from the old timeline's file. To fix, change walsender to read it from the
    new file, so that it behaves the same as recovery in that sense, and doesn't
    try to open the possibly nonexistent file with the old timeline's ID.
    990fe3c4
    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.  Changes between all PostgreSQL releases are recorded in the
    file HISTORY.  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/.