Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7ndh-005hgg-1g for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 04:57:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7nde-00EnED-2E for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 04:57:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7nde-00EnE5-1A for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 04:57:10 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7ndb-00000002IOA-2yVr for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 04:57:09 +0000 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-38a2e62b893so53131541fa.1 for ; Tue, 31 Mar 2026 21:57:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775019426; cv=none; d=google.com; s=arc-20240605; b=YYOn23WLUSCf0h1OusgGkWqTBJNxVE8RMLtMMYShWrHYhPR3ldr11/Dm7185G9kCjX TCdH1cb0jN8yddKXxbu/Vg1F6mBL6Gupcmzs/0T0Gd240N3V5vNTk3XRt39qo2HT8v29 cWemLyG1uzRYF6Ppsiy3A+G/WxUZ3NGNS/kIogpiqsSrkhuIhz8Mh6l3g3BvAgy04E3i +IAYsenTHuSeCLyeYwMYWLOkIp/KRoybOERuTSHPtXgDL0g/J02JEto8FXyeZdG1jqmT 7nz3gGKHHCtUpzvegh+TlRS0pYdiwJui7HN2L9ec1o9McDHsiDkeq/Hctvyfzk/2irSy BJNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=q2skTNG40R3Y6xCyEgE/EpMpwB6KazbgiNqbAbNufR0=; fh=rqsrZjAiT7j/WMX5QyfnrjfnIn1SOUNSk4VKr6WmWrE=; b=BaWVMm0Cs/Cnuj5MNG46JOLrS+jZnF7BbCt/98x/GzRFyXL/1nLCiugCl1EYt+3EM8 kqHRGrJpbBBkl/R8g5H6htvpE/BrFAORY2XwnLKm5sthsraxHJBMkl2/6+QcWsS1jBbS tDkqo4HCgu7vVYgGKpjWi2LJ6Cp7hTIgIIg1LSgo0mn10NEvaRvdMvzqOedoRbHfvGnM lJ0OjAUKuNNTiInIHEEwv3sS3cvx8COYM3POlEciBW9pUoFV0gAQLAXa4nR1hQaVcNuf AXUZr2N9RHh9hQ/0mkp8ntnzoNGfXfkyWr4qrJ2SnqJTj0YQx1tHC7emTlj/XdxJTN8U XYbQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775019426; x=1775624226; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=q2skTNG40R3Y6xCyEgE/EpMpwB6KazbgiNqbAbNufR0=; b=YUOdAquXg4A76o88z0uFFWhFyjUPOOeZu51L9aR+zjSFlRSP2+iIVvFSNOgfgeWLjg dfWMGUH0sYFIVSr7A0jFDYCw0FWoe4h9c55TgTfi/BIzd6XzWeLkcB5QwRIJ+SRaBqMR NYNGII6ttmWihGcXVYLUHbydu/05WEXH4GJY8Jl4o70aKrFQ1YCOzyhW22/w48XIakNi 3OFNzHfTE+dmh8LxKvk391frRuhm2I74aNav922d/R8ze7olDYtw/KuB47XqJFymhOxP BryVAJ1YTt3BG67nFFzK/LAuIrNGiFmQFlOlJrtkDyYc3HLc/izKpMigHWAWrMi3UQP7 Jv7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775019426; x=1775624226; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=q2skTNG40R3Y6xCyEgE/EpMpwB6KazbgiNqbAbNufR0=; b=ab1LgNNdUp2ug7rm0/0/s253XBLyb9LAmwjafZCvsAf7ofKgCrB3o8D0uL5pROd/cn MeGq/YDqD4/KAaFzt1u5kvv28i6UNg/xOHbILkGyutOc7iN2386UaHwJb/f7l/aPaLSA Ws7cAs5tn0eqvkoCx1JAjcQR8l1UtmnJWpG3Iz+JMJapkurih3ULKMdKEdSu36yu9pr1 PdAa4Hc9CTKYHA+q0eYwdpRqbIJ0RZjynCPRjG6V4geqOPvf9d5txLftSugtBkQtkk7X WrSXC6c6I+nfIPMqNSYjFrAY8B87G348/yd0Ltz5oUbucp15ALIkWkQhEd8bAsCpVUqI B0Dw== X-Forwarded-Encrypted: i=1; AJvYcCUpRmjo91g2tBWRYpHpJmrvzd10ChRxspQ6qVu0b5ewgulrcCosEnS7uPQEwrKLOZNT+aOD2m+IrTLHV1ZN@lists.postgresql.org X-Gm-Message-State: AOJu0YySiVj1e/hU+GxPYvcCuRUufErjWQee5FEFu6+sa8elDvGrqD1c AVrMxqmo0M2TQB8LUN82u/UqQGK0SPlQ8MLXIhBc3p60XOvyBGOMbTexx+mXsicdSXjmcbLTyBO vr0hUk/XAAv0cEuxwcnnOjRhxuahp5v4= X-Gm-Gg: ATEYQzyhQYlliVhaBKT3wojVcq+zXUAYXjemm9izV8xOq3b6wIJ7Ztr32bJsCz4taHe lMpXpP1DMSd8z9Es4mRamlIQC8gYvASeU4cnrYeOUU4EPu6Xlr/RnvC6o2giXzMvx/rbSx+jg5Y Kul2uACcWqhjlPHM4caphFTK9z8ec8W44VN52FEGLwGbEGTFXcOqKaz9/nFyjQSukHj8EyY/yGZ 4uTnMVlDQfsU/t86vt66hdRwNf/+WQ1NCnxb//rs/fKaFOztUVg8JYXA+ILMePYNElJZlqQpHbD 7VKkK/tB2fdwv54xgqNDmsONgfORhX6pSIrnxw== X-Received: by 2002:a2e:bc88:0:b0:38a:4197:862c with SMTP id 38308e7fff4ca-38cc2f38bfcmr7766211fa.9.1775019425735; Tue, 31 Mar 2026 21:57:05 -0700 (PDT) MIME-Version: 1.0 References: <4c2eb422-696c-4e34-84e7-6c6cd95781ab@eisentraut.org> In-Reply-To: <4c2eb422-696c-4e34-84e7-6c6cd95781ab@eisentraut.org> From: Amit Kapila Date: Wed, 1 Apr 2026 10:26:53 +0530 X-Gm-Features: AQROBzAgKbjpU7dpDd5K9zubasz-ur-v1S1QUhbF6rYM2u_RfFFS6SPR6kSgLk0 Message-ID: Subject: Re: [Proposal] Adding Log File Capability to pg_createsubscriber To: Peter Eisentraut Cc: Gyan Sreejith , Peter Smith , "Hayato Kuroda (Fujitsu)" , shveta malik , Shlok Kyal , vignesh C , Euler Taveira , "pgsql-hackers@lists.postgresql.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Mar 31, 2026 at 5:36=E2=80=AFPM Peter Eisentraut wrote: > > On 25.03.26 09:25, Amit Kapila wrote: > > On Wed, Mar 25, 2026 at 5:43=E2=80=AFAM Gyan Sreejith wrote: > >> > >> Thank you, Kuroda-san and Chao for the suggestions and the patch. I ha= ve merged it with v18-0001, and I have fixed everything that Peter suggeste= d. > >> > > > > Pushed after minor changes. > > Instead of creating a new logging API in pg_createsubscriber locally, > why not extend logging.c to support a log file. > Few things we may want to consider if we want to use extended logging.c: (a) what if we want information to be written in multiple files (say pub/sub specific info into separate files), something like what pg_upgrade does, (b) what if we want to write some info to only one of terminal or log_file, we can probably extend generic API for this. > This is much simpler, > doesn't require caller changes, and could be reused elsewhere. See > attached patches. (The 0003 and 0004 are just some additional code > simplifications.) > In 0004, -static char logdir[MAXPGPATH]; /* Subdirectory of the user specified logdi= r +static char *logdir =3D NULL; /* Subdirectory of the user specified logdir At other places like pg_upgrade, we use MAXPGPATH for a similar case probably to have standard length on all platforms, see make_outputdirs() in pg_upgrade.c. --=20 With Regards, Amit Kapila.