• Tom Lane's avatar
    Keep pg_stat_statements' query texts in a file, not in shared memory. · f0d6f202
    Tom Lane authored
    This change allows us to eliminate the previous limit on stored query
    length, and it makes the shared-memory hash table very much smaller,
    allowing more statements to be tracked.  (The default value of
    pg_stat_statements.max is therefore increased from 1000 to 5000.)
    In typical scenarios, the hash table can be large enough to hold all the
    statements commonly issued by an application, so that there is little
    "churn" in the set of tracked statements, and thus little need to do I/O
    to the file.
    
    To further reduce the need for I/O to the query-texts file, add a way
    to retrieve all the columns of the pg_stat_statements view except for
    the query text column.  This is probably not of much interest for human
    use but it could be exploited by programs, which will prefer using the
    queryid anyway.
    
    Ordinarily, we'd need to bump the extension version number for the latter
    change.  But since we already advanced pg_stat_statements' version number
    from 1.1 to 1.2 in the 9.4 development cycle, it seems all right to just
    redefine what 1.2 means.
    
    Peter Geoghegan, reviewed by Pavel Stehule
    f0d6f202
pg_stat_statements--1.1--1.2.sql 1.3 KB