postgresql/contrib
Jeff Davis d9fbb88629 Use correct LSN for error reporting in pg_walinspect
Usage of ReadNextXLogRecord()'s first_record parameter for error
reporting isn't always correct. For instance, in GetWALRecordsInfo()
and GetWalStats(), we're reading multiple records, and first_record
is always passed as the LSN of the first record which is then used
for error reporting for later WAL record read failures. This isn't
correct.

The correct parameter to use for error reports in case of WAL
reading failures is xlogreader->EndRecPtr. This change fixes it.

While on it, removed an unnecessary Assert in pg_walinspect code.

Reported-by: Robert Haas
Author: Bharath Rupireddy
Reviewed-by: Robert Haas
Discussion: https://www.postgresql.org/message-id/CA%2BTgmoZAOGzPUifrcZRjFZ2vbtcw3mp-mN6UgEoEcQg6bY3OVg%40mail.gmail.com
Backpatch-through: 15
2022-08-18 14:23:30 -07:00
..
adminpack Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
amcheck Replace many MemSet calls with struct initialization 2022-07-16 08:50:49 +02:00
auth_delay Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
auto_explain Make new auto_explain test safe for log_error_verbosity = verbose. 2022-07-31 12:29:44 -04:00
basebackup_to_shell Move basebackup code to new directory src/backend/backup 2022-08-10 14:03:23 -04:00
basic_archive Tweak detail and hint messages to be consistent with project policy 2022-07-20 09:50:12 +09:00
bloom Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
bool_plperl Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:29 -04:00
btree_gist Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
citext CREATE INDEX: use the original userid for more ACL checks. 2022-06-25 09:07:41 -07:00
cube Indent C code in flex and bison files 2022-05-13 07:17:29 +02:00
dblink Remove redundant null pointer checks before PQclear and PQconninfoFree 2022-07-03 20:11:05 +02:00
dict_int Update copyright for 2022 2022-01-07 19:04:57 -05:00
dict_xsyn Update copyright for 2022 2022-01-07 19:04:57 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
file_fdw Add regression test for TRUNCATE on foreign table not supporting TRUNCATE. 2022-07-20 09:35:14 +09:00
fuzzystrmatch Update copyright for 2022 2022-01-07 19:04:57 -05:00
hstore Mark all symbols exported from extension libraries PGDLLEXPORT. 2022-07-17 18:50:14 -07:00
hstore_plperl Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
hstore_plpython Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
intarray Change some unnecessary MemSet calls 2022-07-01 00:16:38 +02:00
isn Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
jsonb_plperl Expose internal function for converting int64 to numeric 2020-09-09 20:16:28 +02:00
jsonb_plpython Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
lo Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
ltree Mark all symbols exported from extension libraries PGDLLEXPORT. 2022-07-17 18:50:14 -07:00
ltree_plpython Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
oid2name Change internal RelFileNode references to RelFileNumber or RelFileLocator. 2022-07-06 11:39:09 -04:00
old_snapshot Update copyright for 2022 2022-01-07 19:04:57 -05:00
pageinspect Replace many MemSet calls with struct initialization 2022-07-16 08:50:49 +02:00
passwordcheck Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
pg_buffercache Add regression test coverage for contrib/pg_buffercache. 2022-07-30 15:33:44 -04:00
pg_freespacemap Avoid instabilities with the regression tests of pg_freespacemap 2022-03-29 13:52:49 +09:00
pg_prewarm Add a regression test for contrib/pg_prewarm. 2022-08-01 17:59:44 -04:00
pg_stat_statements Remove dead pread and pwrite replacement code. 2022-08-05 09:49:21 +12:00
pg_surgery Remove xloginsert.h from xlog.h 2022-01-30 12:25:24 -03:00
pg_trgm Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
pg_visibility Replace many MemSet calls with struct initialization 2022-07-16 08:50:49 +02:00
pg_walinspect Use correct LSN for error reporting in pg_walinspect 2022-08-18 14:23:30 -07:00
pgcrypto Tidy up claimed supported CPUs and OSes. 2022-07-11 11:50:41 +12:00
pgrowlocks Use has_privs_for_roles for predefined role checks 2022-03-28 15:10:04 -04:00
pgstattuple Replace many MemSet calls with struct initialization 2022-07-16 08:50:49 +02:00
postgres_fdw postgres_fdw: Disable batch insertion when there are WCO constraints. 2022-08-05 17:15:00 +09:00
seg Indent C code in flex and bison files 2022-05-13 07:17:29 +02:00
sepgsql Remove now superfluous declarations of dlsym()ed symbols. 2022-07-17 17:29:32 -07:00
spi Remove extraneous blank lines before block-closing braces 2022-04-13 19:16:02 +02:00
sslinfo contrib/sslinfo needs a fix too to make hamerkop happy. 2021-11-07 11:33:53 -05:00
start-scripts
tablefunc Remove all traces of tuplestore_donestoring() in the C code 2022-02-17 09:52:02 +09:00
tcn Add a regression test for contrib/tcn. 2022-08-01 19:18:50 -04:00
test_decoding Fix catalog lookup with the wrong snapshot during logical decoding. 2022-08-11 10:09:24 +05:30
tsm_system_rows Update copyright for 2022 2022-01-07 19:04:57 -05:00
tsm_system_time Update copyright for 2022 2022-01-07 19:04:57 -05:00
unaccent Simplify a bit the special rules generating unaccent.rules 2022-07-05 16:17:51 +09:00
uuid-ossp Remove redundant null pointer checks before free() 2022-07-03 11:47:15 +02:00
vacuumlo Improve frontend error logging style. 2022-04-08 14:55:14 -04:00
xml2 Simplify SRFs using materialize mode in contrib/ modules 2022-03-08 10:12:22 +09:00
contrib-global.mk
Makefile Add contrib/pg_walinspect. 2022-04-08 00:26:44 -07:00
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.