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
    place to prevent reusing relation OIDs before next checkpoint, and DROP
    DATABASE. First, if a database was dropped, bgwriter would still try to unlink
    the files that the rmtree() call by the DROP DATABASE command has already
    deleted, or is just about to delete. Second, if a database is dropped, and
    another database is created with the same OID, bgwriter would in the worst
    case delete a relation in the new database that happened to get the same OID
    as a dropped relation in the old database.
    
    To fix these race conditions:
    - make rmtree() ignore ENOENT errors. This fixes the 1st race condition.
    - make ForgetDatabaseFsyncRequests forget unlink requests as well.
    - force checkpoint on in dropdb on all platforms
    
    Since ForgetDatabaseFsyncRequests() is asynchronous, the 2nd change isn't
    enough on its own to fix the problem of dropping and creating a database with
    same OID, but forcing a checkpoint on DROP DATABASE makes it sufficient.
    
    Per Tom Lane's bug report and proposal. Backpatch to 8.3.
    9cb91f90
    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 including some of the more
    common listed below:
    
    C++ - http://pqxx.org/development/libpqxx/
    JDBC - http://jdbc.postgresql.org
    ODBC - http://odbc.postgresql.org
    Perl - http://search.cpan.org/~dbdpg/
    PHP - http://www.php.net
    Python - http://www.initd.org/
    Ruby - http://ruby.scripting.ca/postgres/
    
    Other language bindings are available from a variety of contributing
    parties.
    
    PostgreSQL also has a great number of procedural languages available,
    a short, incomplete list is below:
    
    PL/pgSQL - included in PostgreSQL source distribution
    PL/Perl - included in PostgreSQL source distribution
    PL/PHP - http://projects.commandprompt.com/projects/public/plphp
    PL/Python - included in PostgreSQL source distribution
    PL/Java - http://pgfoundry.org/projects/pljava/
    PL/Tcl - included in PostgreSQL source distribution
    
    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/.