Extract WalProposer into the neon extension (#2217)

Including, but not limited to:

* Fixes to neon management code to support walproposer-as-an-extension

* Fix issue in expected output of pg settings serialization.

* Show the logs of a failed --sync-safekeepers process in CI

* Add compat layer for renamed GUCs in postgres.conf

* Update vendor/postgres to the latest origin/main
This commit is contained in:
MMeent
2022-08-18 17:12:28 +02:00
committed by GitHub
parent 2db675a2f2
commit f99ccb5041
9 changed files with 125 additions and 111 deletions

View File

@@ -569,7 +569,7 @@ class ProposerPostgres(PgProtocol):
f"neon.timeline_id = '{self.timeline_id.hex}'\n",
f"neon.tenant_id = '{self.tenant_id.hex}'\n",
f"neon.pageserver_connstring = ''\n",
f"safekeepers = '{safekeepers}'\n",
f"neon.safekeepers = '{safekeepers}'\n",
f"listen_addresses = '{self.listen_addr}'\n",
f"port = '{self.port}'\n",
]

View File

@@ -1855,11 +1855,11 @@ class Postgres(PgProtocol):
# walproposer uses different application_name
if ("synchronous_standby_names" in cfg_line or
# don't repeat safekeepers/wal_acceptors multiple times
"safekeepers" in cfg_line):
"neon.safekeepers" in cfg_line):
continue
f.write(cfg_line)
f.write("synchronous_standby_names = 'walproposer'\n")
f.write("safekeepers = '{}'\n".format(safekeepers))
f.write("neon.safekeepers = '{}'\n".format(safekeepers))
return self
def config(self, lines: List[str]) -> 'Postgres':