diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-07-06 17:25:29 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-07-06 17:28:50 +0300 |
commit | bf7b70e6bf4ad07f4a46c51a7f866ef89f82404c (patch) | |
tree | d525f1c0c361f4e5f648cc47f4c4bb9e0b2e7e06 /src/tutorial | |
parent | 3c1adbbf86c2cfa44ebed64bd01ed589ad0b832b (diff) | |
download | postgresql-bf7b70e6bf4ad07f4a46c51a7f866ef89f82404c.tar.gz postgresql-bf7b70e6bf4ad07f4a46c51a7f866ef89f82404c.zip |
WAL-log the creation of the init fork of unlogged indexes.
We create a file, so we better WAL-log it. In practice, all the
built-in index AMs and all extensions that I'm aware of write a
metapage to the init fork, which is WAL-logged, and replay of the
metapage implicitly creates the fork too. But if ambuildempty() didn't
write any page, we would miss it.
This can be seen with dummy_index_am. Set up replication, create a
'dummy_index_am' index on an unlogged table, and look at the files
created in the replica: the init fork is not created on the
replica. Dummy_index_am doesn't do anything with the relation files,
however, so it doesn't lead to any user-visible errors.
Backpatch to all supported versions.
Reviewed-by: Robert Haas
Discussion: https://www.postgresql.org/message-id/6e5bbc08-cdfc-b2b3-9e23-1a914b9850a9%40iki.fi
Diffstat (limited to 'src/tutorial')
0 files changed, 0 insertions, 0 deletions