RE: [bug fix] pg_rewind takes long time because it mistakenly copies data files
Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com>
From: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
To: 'Michael Paquier' <michael@paquier.xyz>
Cc: "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2018-02-26T08:13:02Z
Lists: pgsql-hackers
From: Michael Paquier [mailto:michael@paquier.xyz] > Your patch is able to fix that. I have also checked that after diverging > the promoted server with more data and inserting data on the old primary > then the correct set of blocks from the tablespace is fetched as well by > pg_rewind. This patch also behaves correctly when creating a new relation > on the promoted server as it copies the whole relation. In short your patch > looks good to me. How quick, I was surprised. Thank you so much! I'd be glad if you could be the reviewer in CF: https://commitfest.postgresql.org/17/1542/ > Creating a test case for this patch would be nice, however this needs a > bit of work so as the tablespace map can be used with pg_basebackup and > PostgresNode.pm (or use raw pg_basebackup commands in pg_rewind tests): > - PostgresNode::init_from_backup needs to be able to understand extra > options given by caller for pg_basebackup. > - RewindTest::create_standby should be extended with extra arguments given > for previous extension. > :( That sounds difficult from your way of saying... but this may be a good opportunity to look into the TAP tests. Regards Takayuki Tsunakawa
Commits
-
Fix pg_rewind to handle relation data files in tablespaces properly.
- cb5c141edac5 9.5.13 landed
- 7aba4f23f5b7 9.6.9 landed
- bca696ab0bff 10.4 landed
- 2f3e2340cd1b 11.0 landed