From: | Shubham Khanna <khannashubham1197(at)gmail(dot)com> |
---|---|
To: | "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com> |
Cc: | Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, vignesh C <vignesh21(at)gmail(dot)com> |
Subject: | Re: Enhance 'pg_createsubscriber' to retrieve databases automatically when no database is provided. |
Date: | 2025-03-24 10:26:20 |
Message-ID: | CAHv8RjJ5TqRax3fU3etbjvmV8TP8CmW8Jg-kmqM6aBy4ghHtDg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Mar 24, 2025 at 12:29 PM Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>
> Dear Shubham,
>
> > I have reviewed and merged the proposed changes into the patch. The
> > attached patches contain the suggested changes.
>
> Thanks for updating the patch! Few comments:
>
> 01.
> ```
> + /*
> + * Fetch all databases from the source (publisher) if --all is specified.
> + */
> + if (opt.all_dbs)
> + fetch_source_databases(&opt);
> +
> if (opt.database_names.head == NULL)
> ```
>
> I feel we can convert "if" -> "else if" for the opt.database_names.head case,
> because fetch_source_databases() ensures databases are listed.
>
Fixed.
> 02.
> ```
> +# Set up node U as standby linking to node
> ```
>
> To confirm: why can we use "U" here?
>
Since node_s and node_t are already used in this test, I have used the
next letter, node_u. Additionally, comments have been added to improve
clarity.
> 03.
> ```
> +$node_u->append_conf(
> + 'postgresql.conf', qq[
> +primary_conninfo = '$pconnstr dbname=postgres'
> +]);
> ```
> I think this part is not required. init_from_backup() with has_streaming sets the
> primary_conninfo.
>
Fixed.
> 04.
> ```
> +# Stop $node_s
> +$node_s->stop;
> ```
>
> The comment does not describe anything. I feel you can say "Stop node S because
> it won't be used anymore", or just remove it.
>
Fixed.
> 05.
> ```
> +# Drop one of the databases (e.g., $db2)
> +$node_p->safe_psql('postgres', "DROP DATABASE \"$db2\"");
> ```
>
> "e.g." means "for example", so it is not suitable to put here. Please explain why it must be removed.
>
Fixed.
> 06.
> ```
> +# Get subscription names
> +$result = $node_u->safe_psql(
> + 'postgres', qq(
> + SELECT subname FROM pg_subscription WHERE subname ~ '^pg_createsubscriber_'
> +));
> +my @subnames1 = split("\n", $result);
> +
> +# Wait subscriber to catch up
> +$node_u->wait_for_subscription_sync($node_p, $subnames1[0]);
> +$node_u->wait_for_subscription_sync($node_p, $subnames1[1]);
> ```
>
> wait_for_subscription_sync() is used to wait until the initial synchronization is
> done, so not suitable here. wait_for_catchup() is more appropriate.
>
Fixed.
> 07.
> Also, the similar part exists on the pre-existing part (wait_for_subscription_sync
> was used there, but I feel this may not be correct). How about unifing them like
> attached?
>
Fixed.
> 08.
> ```
> +# Verify logical replication works for all databases
> +# Insert rows on node P
> +$node_p->safe_psql('postgres', "INSERT INTO tbl1 VALUES('first row')");
> ```
>
> This is confusing because 'fourth row' is inserted to $db1 just after it. How
> about the 'row in database postgres' or something?
>
Fixed.
The attached patches contain the suggested changes.
Thanks and regards,
Shubham Khanna.
Attachment | Content-Type | Size |
---|---|---|
v19-0001-Enhance-pg_createsubscriber-to-fetch-and-append-.patch | application/octet-stream | 12.3 KB |
v19-0002-Synopsis-for-all-option.patch | application/octet-stream | 1.5 KB |
v19-0003-Additional-test-cases.patch | application/octet-stream | 6.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Vincent Moreau | 2025-03-24 10:27:05 | [PATCH] Add a new pattern for zero-based months for Date/Time Formatting |
Previous Message | Heikki Linnakangas | 2025-03-24 10:20:17 | Re: CREATE SUBSCRIPTION - add missing test case |