RE: pg_rewind with --write-recovery-conf option doesn't write dbname to primary_conninfo value.
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Masahiko Sawada' <sawada.mshk@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2025-02-03T05:50:32Z
Lists: pgsql-hackers
Dear Sawada-san, > I think it's a good idea to support it at least on HEAD. I've attached > a patch for that. +1. I've confirmed that pg_rewind and -R can't output dbname for now, and your patch allows to do it. Few comments for your patch. 1. pg_basebackup.sgml has below description. I feel this can be ported to pg_rewind.sgml as well. ``` The dbname will be recorded only if the dbname was specified explicitly in the connection string or <link linkend="libpq-envars"> environment variable</link>. ``` 2. I'm not sure whether recovery_gen.h/c is a correct place for the exported function GetDbnameFromConnectionOptions(). The function itself does not handle postgresql.cuto.conf file. I seeked other header files and felt that connect_utils.h might be. ``` /*------------------------------------------------------------------------- * * Facilities for frontend code to connect to and disconnect from databases. ``` Another idea is to change the third API to accept the whole connection string, and it extracts dbname from it. In this approach we can make GetDbnameFromConnectionOptions() to static function - which does not feel strange for me. Best regards, Hayato Kuroda FUJITSU LIMITED
Commits
-
pg_rewind: Add dbname to primary_conninfo when using --write-recovery-conf.
- 4ecdd4110d5c 18.0 landed
-
Allow dbname to be written as part of connstring via pg_basebackup's -R option.
- a145f424d524 17.0 cited