v27-0003-port-replace-int-with-string.patch
text/x-patch
Filename: v27-0003-port-replace-int-with-string.patch
Type: text/x-patch
Part: 4
Message:
Re: speed up a logical replica setup
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v27-0003
Subject: port: replace int with string
| File | + | − |
|---|---|---|
| src/bin/pg_basebackup/pg_createsubscriber.c | 10 | 9 |
From 7ed803615fdbebf2054b5cbd783fb667465e7998 Mon Sep 17 00:00:00 2001
From: Euler Taveira <euler@eulerto.com>
Date: Wed, 6 Mar 2024 22:00:23 -0300
Subject: [PATCH v27 3/4] port: replace int with string
---
src/bin/pg_basebackup/pg_createsubscriber.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c
index d9797ed8f4..85bbc3ba8f 100644
--- a/src/bin/pg_basebackup/pg_createsubscriber.c
+++ b/src/bin/pg_basebackup/pg_createsubscriber.c
@@ -28,7 +28,7 @@
#include "fe_utils/simple_list.h"
#include "getopt_long.h"
-#define DEFAULT_SUB_PORT 50432
+#define DEFAULT_SUB_PORT "50432"
#define BASE_OUTPUT_DIR "pg_createsubscriber_output.d"
/* Command-line options */
@@ -37,7 +37,7 @@ struct CreateSubscriberOptions
char *subscriber_dir; /* standby/subscriber data directory */
char *pub_conninfo_str; /* publisher connection string */
char *socket_dir; /* directory for Unix-domain socket, if any */
- unsigned short sub_port; /* subscriber port number */
+ char *sub_port; /* subscriber port number */
const char *sub_username; /* subscriber username */
SimpleStringList database_names; /* list of database names */
bool retain; /* retain log file? */
@@ -200,7 +200,7 @@ usage(void)
printf(_(" -d, --database=DBNAME database to create a subscription\n"));
printf(_(" -D, --pgdata=DATADIR location for the subscriber data directory\n"));
printf(_(" -n, --dry-run dry run, just show what would be done\n"));
- printf(_(" -p, --subscriber-port=PORT subscriber port number (default %d)\n"), DEFAULT_SUB_PORT);
+ printf(_(" -p, --subscriber-port=PORT subscriber port number (default %s)\n"), DEFAULT_SUB_PORT);
printf(_(" -P, --publisher-server=CONNSTR publisher connection string\n"));
printf(_(" -r, --retain retain log file after success\n"));
printf(_(" -s, --socket-directory=DIR socket directory to use (default current directory)\n"));
@@ -1295,7 +1295,7 @@ start_standby_server(struct CreateSubscriberOptions *opt, const char *pg_ctl_pat
*/
if (!dry_run)
appendPQExpBuffer(pg_ctl_cmd, " -l \"%s\"", logfile);
- appendPQExpBuffer(pg_ctl_cmd, " -o \"-p %u%s\"",
+ appendPQExpBuffer(pg_ctl_cmd, " -o \"-p %s%s\"",
opt->sub_port, socket_string);
}
pg_log_debug("pg_ctl command is: %s", pg_ctl_cmd->data);
@@ -1336,7 +1336,7 @@ wait_for_end_recovery(const char *conninfo, const char *pg_ctl_path,
#define NUM_CONN_ATTEMPTS 5
- pg_log_info("waiting the target server to reach the consistent state");
+ pg_log_info("waiting for the target server to reach the consistent state");
conn = connect_database(conninfo, true);
@@ -1743,7 +1743,8 @@ main(int argc, char **argv)
opt.subscriber_dir = NULL;
opt.pub_conninfo_str = NULL;
opt.socket_dir = NULL;
- opt.sub_port = DEFAULT_SUB_PORT;
+ opt.sub_port = palloc(16);
+ strcpy(opt.sub_port, DEFAULT_SUB_PORT);
opt.sub_username = NULL;
opt.database_names = (SimpleStringList)
{
@@ -1789,8 +1790,8 @@ main(int argc, char **argv)
dry_run = true;
break;
case 'p':
- if ((opt.sub_port = atoi(optarg)) <= 0)
- pg_fatal("invalid subscriber port number");
+ pg_free(opt.sub_port);
+ opt.sub_port = pg_strdup(optarg);
break;
case 'P':
opt.pub_conninfo_str = pg_strdup(optarg);
@@ -1890,7 +1891,7 @@ main(int argc, char **argv)
exit(1);
pg_log_info("validating connection string on subscriber");
- sub_base_conninfo = psprintf("host=%s port=%u user=%s fallback_application_name=%s",
+ sub_base_conninfo = psprintf("host=%s port=%s user=%s fallback_application_name=%s",
opt.socket_dir, opt.sub_port, opt.sub_username, progname);
if (opt.database_names.head == NULL)
--
2.34.1