diff options
| author | Michael Paquier | 2022-12-20 04:36:27 +0000 |
|---|---|---|
| committer | Michael Paquier | 2022-12-20 04:36:27 +0000 |
| commit | cca186348929cd75f23ef1b25922386bf38cf99c (patch) | |
| tree | f4b4a6ae944991ef0275fed8eebcd867e40cc0e6 /src/include | |
| parent | b3bb7d12af97f035c3aa3ad8dd41b44d01e2defa (diff) | |
Add pg_dissect_walfile_name()
This function takes in input a WAL segment name and returns a tuple made
of the segment sequence number (dependent on the WAL segment size of the
cluster) and its timeline, as of a thin SQL wrapper around the existing
XLogFromFileName().
This function has multiple usages, like being able to compile a LSN from
a file name and an offset, or finding the timeline of a segment without
having to do to some maths based on the first eight characters of the
segment.
Bump catalog version.
Author: Bharath Rupireddy
Reviewed-by: Nathan Bossart, Kyotaro Horiguchi, Maxim Orlov, Michael
Paquier
Discussion: https://postgr.es/m/CALj2ACWV=FCddsxcGbVOA=cvPyMr75YCFbSQT6g4KDj=gcJK4g@mail.gmail.com
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/catalog/catversion.h | 2 | ||||
| -rw-r--r-- | src/include/catalog/pg_proc.dat | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 094f59f82db..091ad94c5eb 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -57,6 +57,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 202212191 +#define CATALOG_VERSION_NO 202212201 #endif diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat index d763419c0de..98d90d93389 100644 --- a/src/include/catalog/pg_proc.dat +++ b/src/include/catalog/pg_proc.dat @@ -6372,6 +6372,13 @@ { oid => '2851', descr => 'wal filename, given a wal location', proname => 'pg_walfile_name', prorettype => 'text', proargtypes => 'pg_lsn', prosrc => 'pg_walfile_name' }, +{ oid => '8205', + descr => 'sequence number and timeline ID given a wal filename', + proname => 'pg_dissect_walfile_name', provolatile => 's', + prorettype => 'record', proargtypes => 'text', + proallargtypes => '{text,numeric,int8}', proargmodes => '{i,o,o}', + proargnames => '{file_name,segno,timeline_id}', + prosrc => 'pg_dissect_walfile_name' }, { oid => '3165', descr => 'difference in bytes, given two wal locations', proname => 'pg_wal_lsn_diff', prorettype => 'numeric', |
