Thread: Wal file query
In streaming replication What is the way to check which "WAL file" is currently in use in primary and in standby ?
Regards.
Hi Atul
Start by looking at the current WAL LSN and insert LSN. The
pg_current_wal_lsn
is the location of the last write. The pg_current_wal_insert_lsn
is the logical location and reflects data in the buffer that has not been written to disk. There is also a flush value that shows what has been written to durable storage.
[postgres] # select pg_current_wal_lsn(), pg_current_wal_insert_lsn(); pg_current_wal_lsn | pg_current_wal_insert_lsn
--------------------+--------------------------- 76/7D000000 | 76/7D000028
(1 row)
Although you can guess the name of the WAL file based on the above output, it is best to use the pg_walfile_name
function.
[postgres] # select pg_walfile_name('76/7D000028'); pg_walfile_name
-------------------------- 00000001000000760000007D
(1 row)
For details visit following link : https://www.crunchydata.com/blog/postgres-wal-files-and-sequuence-numbers
Thanks
Kashif Zeeshan
On Tue, Apr 8, 2025 at 4:44 PM Atul Kumar <akumar14871@gmail.com> wrote:
In streaming replication What is the way to check which "WAL file" is currently in use in primary and in standby ?Regards.
I got the error:
Wal control functions cannot be executed during recovery.
I need the solution that should in when streaming replication is configured.
My postgres version is 13.20
Regards.
On Tue, 8 Apr 2025, 17:32 Kashif Zeeshan, <kashi.zeeshan@gmail.com> wrote:
Hi AtulStart by looking at the current WAL LSN and insert LSN. Thepg_current_wal_lsn
is the location of the last write. Thepg_current_wal_insert_lsn
is the logical location and reflects data in the buffer that has not been written to disk. There is also a flush value that shows what has been written to durable storage.[postgres] # select pg_current_wal_lsn(), pg_current_wal_insert_lsn(); pg_current_wal_lsn | pg_current_wal_insert_lsn --------------------+--------------------------- 76/7D000000 | 76/7D000028 (1 row)
Although you can guess the name of the WAL file based on the above output, it is best to use the
pg_walfile_name
function.
[postgres] # select pg_walfile_name('76/7D000028'); pg_walfile_name -------------------------- 00000001000000760000007D (1 row)
For details visit following link : https://www.crunchydata.com/blog/postgres-wal-files-and-sequuence-numbers
Thanks
Kashif Zeeshan
On Tue, Apr 8, 2025 at 4:44 PM Atul Kumar <akumar14871@gmail.com> wrote:In streaming replication What is the way to check which "WAL file" is currently in use in primary and in standby ?Regards.
You cannot connect to the Primary while connected to the Replica, except via postgres_fdw. Even then, it might not work, since the replica replicates _fdw definitions.
These exist on the primary:
pg_current_wal_lsn()pg_replication_slotspg_stat_replication
These exist on the replica:
pg_last_wal_receive_lsn()pg_last_wal_replay_lsn()pg_stat_wal_receiverpg_get_wal_replay_pause_state()
On Tue, Apr 8, 2025 at 9:09 AM Atul Kumar <akumar14871@gmail.com> wrote:
I got the error:Wal control functions cannot be executed during recovery.I need the solution that should in when streaming replication is configured.My postgres version is 13.20Regards.On Tue, 8 Apr 2025, 17:32 Kashif Zeeshan, <kashi.zeeshan@gmail.com> wrote:Hi AtulStart by looking at the current WAL LSN and insert LSN. Thepg_current_wal_lsn
is the location of the last write. Thepg_current_wal_insert_lsn
is the logical location and reflects data in the buffer that has not been written to disk. There is also a flush value that shows what has been written to durable storage.[postgres] # select pg_current_wal_lsn(), pg_current_wal_insert_lsn(); pg_current_wal_lsn | pg_current_wal_insert_lsn --------------------+--------------------------- 76/7D000000 | 76/7D000028 (1 row)
Although you can guess the name of the WAL file based on the above output, it is best to use the
pg_walfile_name
function.
[postgres] # select pg_walfile_name('76/7D000028'); pg_walfile_name -------------------------- 00000001000000760000007D (1 row)
For details visit following link : https://www.crunchydata.com/blog/postgres-wal-files-and-sequuence-numbers
Thanks
Kashif Zeeshan
On Tue, Apr 8, 2025 at 4:44 PM Atul Kumar <akumar14871@gmail.com> wrote:In streaming replication What is the way to check which "WAL file" is currently in use in primary and in standby ?Regards.
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> lobster!