You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-07-11 00:50:20 +02:00
Make notion of current PostgreSQL info ID in C align with Perl.
The C code was assuming that the current PostgreSQL version in archive.info/backup.info was the most recent item in the history, but this is not always the case with some stanza-upgrade scenarios. If a cluster is restored from before the upgrade and stanza-upgrade is run again, it will revert db-id to the original history item. Instead, load db-id from the db section explicitly as the Perl code does. This did not affect archive-get since it does a reverse scan through the history versions and does not rely on the current version.
This commit is contained in:
@ -55,10 +55,13 @@ testRun(void)
|
||||
storageNewWriteNP(storageTest, strNew("repo/archive/test1/archive.info")),
|
||||
bufNewZ(
|
||||
"[backrest]\n"
|
||||
"backrest-checksum=\"0a415a03fa3faccb4ac171759895478469e9e19e\"\n"
|
||||
"backrest-checksum=\"806471e1481804dc3ddf8dc6f1da7c34939420a8\"\n"
|
||||
"backrest-format=5\n"
|
||||
"backrest-version=\"2.06\"\n"
|
||||
"\n"
|
||||
"[db]\n"
|
||||
"db-id=1\n"
|
||||
"\n"
|
||||
"[db:history]\n"
|
||||
"1={\"db-id\":5555555555555555555,\"db-version\":\"9.4\"}\n"));
|
||||
|
||||
@ -72,10 +75,13 @@ testRun(void)
|
||||
storageNewWriteNP(storageTest, strNew("repo/archive/test1/archive.info")),
|
||||
bufNewZ(
|
||||
"[backrest]\n"
|
||||
"backrest-checksum=\"f7617b5c4c9f212f40b9bc3d8ec7f97edbbf96af\"\n"
|
||||
"backrest-checksum=\"4120e2a5c3918a480af951fb99bee7dc091f080a\"\n"
|
||||
"backrest-format=5\n"
|
||||
"backrest-version=\"2.06\"\n"
|
||||
"\n"
|
||||
"[db]\n"
|
||||
"db-id=3\n"
|
||||
"\n"
|
||||
"[db:history]\n"
|
||||
"1={\"db-id\":5555555555555555555,\"db-version\":\"9.4\"}\n"
|
||||
"2={\"db-id\":18072658121562454734,\"db-version\":\"10\"}\n"
|
||||
@ -147,10 +153,13 @@ testRun(void)
|
||||
storageNewWriteNP(storageTest, strNew("repo/archive/test1/archive.info")),
|
||||
bufNewZ(
|
||||
"[backrest]\n"
|
||||
"backrest-checksum=\"8a041a4128eaa2c08a23dd1f04934627795946ff\"\n"
|
||||
"backrest-checksum=\"bf9d69c6131e906898511432b4445335f377b12b\"\n"
|
||||
"backrest-format=5\n"
|
||||
"backrest-version=\"2.06\"\n"
|
||||
"\n"
|
||||
"[db]\n"
|
||||
"db-id=1\n"
|
||||
"\n"
|
||||
"[db:history]\n"
|
||||
"1={\"db-id\":18072658121562454734,\"db-version\":\"10\"}"));
|
||||
|
||||
@ -201,13 +210,16 @@ testRun(void)
|
||||
infoWrite,
|
||||
bufNewZ(
|
||||
"[backrest]\n"
|
||||
"backrest-checksum=\"60bfcb0a5a2c91d203c11d7f1924e99dcdfa0b80\"\n"
|
||||
"backrest-checksum=\"5e4bf8cafff30b488c01574411e858c7866df4a2\"\n"
|
||||
"backrest-format=5\n"
|
||||
"backrest-version=\"2.06\"\n"
|
||||
"\n"
|
||||
"[cipher]\n"
|
||||
"cipher-pass=\"worstpassphraseever\"\n"
|
||||
"\n"
|
||||
"[db]\n"
|
||||
"db-id=1\n"
|
||||
"\n"
|
||||
"[db:history]\n"
|
||||
"1={\"db-id\":18072658121562454734,\"db-version\":\"10\"}"));
|
||||
|
||||
@ -362,10 +374,13 @@ testRun(void)
|
||||
storageNewWriteNP(storageTest, strNew("repo/archive/test2/archive.info")),
|
||||
bufNewZ(
|
||||
"[backrest]\n"
|
||||
"backrest-checksum=\"d962d8d7311d0ae5dc0b05892c15cfa2009d051e\"\n"
|
||||
"backrest-checksum=\"398aa38312ce69e3625b2ecfb4dfc6387e5ce7d3\"\n"
|
||||
"backrest-format=5\n"
|
||||
"backrest-version=\"2.11\"\n"
|
||||
"\n"
|
||||
"[db]\n"
|
||||
"db-id=1\n"
|
||||
"\n"
|
||||
"[db:history]\n"
|
||||
"1={\"db-id\":18072658121562454734,\"db-version\":\"10\"}\n"));
|
||||
|
||||
|
Reference in New Issue
Block a user