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 1vdfcU-003Kzo-38 for pgpool-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 02:19:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdfcT-00Gyam-39 for pgpool-hackers@arkaria.postgresql.org; Thu, 08 Jan 2026 02:19:26 +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 1vdfcT-00Gyaf-24 for pgpool-hackers@lists.postgresql.org; Thu, 08 Jan 2026 02:19:26 +0000 Received: from meldrar.postgresql.org ([2a02:c0:301:0:ffff::31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdfcR-005C1B-29 for pgpool-hackers@lists.postgresql.org; Thu, 08 Jan 2026 02:19:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Content-Transfer-Encoding:Content-Type: Mime-Version:References:In-Reply-To:From:Subject:Cc:To:Message-Id:Date:Sender :Reply-To:Content-ID:Content-Description; bh=kDWDmb1xtwz2L3Y5baSp5kgaSqfd9q1HrKIfmPcv1yk=; b=fODTH85Vcw+KBm/jfZc+RXyMIc 9rIU7NoU1CgaDPfHeOwGpAkocmt9mZyZsmHkzl5qpdMAwIojd0+EvEQ67ODUKa2O5bAVBd8J8xfod DFW4aTkT7mUYOi22YaKKI/ltkhujYbuHup97W9DSmuLJ68RBkfRkE8KnIt8pG2xHKUdvJLPiBVPJh D9XRy3vgj6lH1qiz2bs5iP0Uk4ehzSfuvPKrAWW3mmKm6Uk59DDE5SY4i2s1Ep+ErfywZFfg5yqhn svMqInpFURYs2W+WxppYKJrADzDC+pxnYIBzX05MZ1T4fuTihspHfEIpGcQJh2/RkpGHQ/97CRbDX NkDEOXHA==; Received: from [2409:11:4120:300:9b03:aa3c:cd8a:e513] (helo=localhost) by meldrar.postgresql.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdfcP-00ATqR-0H; Thu, 08 Jan 2026 02:19:23 +0000 Date: Thu, 08 Jan 2026 11:19:11 +0900 (JST) Message-Id: <20260108.111911.1930855426356010993.ishii@postgresql.org> To: nadav@tailorbrands.com Cc: pgpool-hackers@lists.postgresql.org Subject: Re: Proposal: recent access based routing for primary-replica setups From: Tatsuo Ishii In-Reply-To: <20260106.154320.1734616587238293334.ishii@postgresql.org> References: <20260106.134808.2204131019902796784.ishii@postgresql.org> <20260106.154320.1734616587238293334.ishii@postgresql.org> X-Mailer: Mew version 6.8 on Emacs 29.3 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Thu_Jan__8_11_19_11_2026_163)--" Content-Transfer-Encoding: 7bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2409:11:4120:300:9b03:aa3c:cd8a:e513 (failed) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ----Next_Part(Thu_Jan__8_11_19_11_2026_163)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi Nadav, I have just noticed that check_replication_time_lag_with_cmd() can be simplified by using StringInfo functions. Patch attached. What do you think? Best regards, -- Tatsuo Ishii SRA OSS K.K. English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp ----Next_Part(Thu_Jan__8_11_19_11_2026_163)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="refactor_check_replication_time_lag_with_cmd.patch" ZGlmZiAtLWdpdCBhL3NyYy9zdHJlYW1pbmdfcmVwbGljYXRpb24vcG9vbF93b3JrZXJfY2hpbGQu YyBiL3NyYy9zdHJlYW1pbmdfcmVwbGljYXRpb24vcG9vbF93b3JrZXJfY2hpbGQuYwppbmRleCBl ZTQ3OTY0MzcuLjMxMWI2Mzg2NSAxMDA2NDQKLS0tIGEvc3JjL3N0cmVhbWluZ19yZXBsaWNhdGlv bi9wb29sX3dvcmtlcl9jaGlsZC5jCisrKyBiL3NyYy9zdHJlYW1pbmdfcmVwbGljYXRpb24vcG9v bF93b3JrZXJfY2hpbGQuYwpAQCAtNjkyLDcgKzY5Miw2IEBAIGNoZWNrX3JlcGxpY2F0aW9uX3Rp bWVfbGFnX3dpdGhfY21kKHZvaWQpCiAJY2hhcgkgICAqdGVtcF90b2tlbjsKIAljaGFyCSAgICpl bmRwdHI7CiAJY2hhcgkgICAqaWRlbnQ7Ci0JY29uc3QgY2hhciAqYmFzZV9jb21tYW5kOwogCWRv dWJsZQkJZGVsYXlfbXM7CiAJdWludDY0CQlkZWxheTsKIAl1aW50NjQJCWRlbGF5X3RocmVzaG9s ZF9ieV90aW1lOwpAQCAtNzAwLDggKzY5OSw2IEBAIGNoZWNrX3JlcGxpY2F0aW9uX3RpbWVfbGFn X3dpdGhfY21kKHZvaWQpCiAJaW50CQkJcHJpbWFyeV9ub2RlX2lkOwogCWludAkJCXNhdmVfZXJy bm87CiAJaW50CQkJaTsKLQlzaXplX3QJCXRvdGFsX2xlbjsKLQlzaXplX3QJCWN1cnJlbnRfbGVu OwogCUJhY2tlbmRJbmZvICpia2luZm87CiAJRXJyb3JDb250ZXh0Q2FsbGJhY2sgY2FsbGJhY2s7 CiAJaW50CQkJcGlwZWZkWzJdID0gey0xLCAtMX07CkBAIC03MTIsNiArNzA5LDcgQEAgY2hlY2tf cmVwbGljYXRpb25fdGltZV9sYWdfd2l0aF9jbWQodm9pZCkKIAlzc2l6ZV90CQlieXRlc19yZWFk OwogCWludAkJCXN0YXR1czsKIAlpbnQJCQludW1fcmVwbGljYXM7CisJU3RyaW5nSW5mb0RhdGEg c3RyYnVmOwogCiAJaWYgKE5VTV9CQUNLRU5EUyA8PSAxKQogCXsKQEAgLTc2MCw0NiArNzU4LDE5 IEBAIGNoZWNrX3JlcGxpY2F0aW9uX3RpbWVfbGFnX3dpdGhfY21kKHZvaWQpCiAJLyogRXhlY3V0 ZSBjb21tYW5kIGFzIGN1cnJlbnQgcHJvY2VzcyB1c2VyICovCiAJUEdfVFJZKCk7CiAJewotCQli YXNlX2NvbW1hbmQgPSBwb29sX2NvbmZpZy0+cmVwbGljYXRpb25fZGVsYXlfc291cmNlX2NtZDsK LQkJdG90YWxfbGVuID0gc3RybGVuKGJhc2VfY29tbWFuZCkgKyAxOwkvKiArMSBmb3IgTlVMICov Ci0KKwkJaW5pdFN0cmluZ0luZm8oJnN0cmJ1Zik7CisJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmco JnN0cmJ1ZiwKKwkJCQkJCQkgICBwb29sX2NvbmZpZy0+cmVwbGljYXRpb25fZGVsYXlfc291cmNl X2NtZCk7CiAJCS8qIEJ1aWxkIGNvbW1hbmQgd2l0aCByZXBsaWNhLW9ubHkgYXJndW1lbnRzIChv bWl0IHByaW1hcnkpICovCi0KLQkJLyoKLQkJICogQ2FsY3VsYXRlIHRvdGFsIGNvbW1hbmQgbGVu Z3RoIGluY2x1ZGluZyBzcGFjZS1zZXBhcmF0ZWQgcmVwbGljYQotCQkgKiBpZGVudGlmaWVycwot CQkgKi8KLQkJZm9yIChpID0gMDsgaSA8IE5VTV9CQUNLRU5EUzsgaSsrKQotCQl7Ci0JCQlpZiAo aSA9PSBwcmltYXJ5X25vZGVfaWQpCi0JCQkJY29udGludWU7CQkvKiBTa2lwIHByaW1hcnkgbm9k ZSAqLwotCi0JCQlpZGVudCA9IGJ1aWxkX2luc3RhbmNlX2lkZW50aWZpZXJfZm9yX25vZGUoaSk7 Ci0KLQkJCXRvdGFsX2xlbiArPSAxIC8qIHNwYWNlICovICsgc3RybGVuKGlkZW50KTsKLQkJCXBm cmVlKGlkZW50KTsKLQkJfQotCi0JCWNvbW1hbmQgPSBwYWxsb2ModG90YWxfbGVuKTsKLQkJc3Ry bGNweShjb21tYW5kLCBiYXNlX2NvbW1hbmQsIHRvdGFsX2xlbik7Ci0KLQkJLyogQXBwZW5kIHJl cGxpY2EgaWRlbnRpZmllcnMgKi8KLQkJY3VycmVudF9sZW4gPSBzdHJsZW4oY29tbWFuZCk7Ci0K IAkJZm9yIChpID0gMDsgaSA8IE5VTV9CQUNLRU5EUzsgaSsrKQogCQl7CiAJCQlpZiAoaSA9PSBw cmltYXJ5X25vZGVfaWQpCiAJCQkJY29udGludWU7CQkvKiBTa2lwIHByaW1hcnkgbm9kZSAqLwot CiAJCQlpZGVudCA9IGJ1aWxkX2luc3RhbmNlX2lkZW50aWZpZXJfZm9yX25vZGUoaSk7Ci0KLQkJ CS8qIEFwcGVuZCBzcGFjZSBhbmQgaWRlbnRpZmllciAqLwotCQkJc25wcmludGYoY29tbWFuZCAr IGN1cnJlbnRfbGVuLCB0b3RhbF9sZW4gLSBjdXJyZW50X2xlbiwgIiAlcyIsIGlkZW50KTsKLQkJ CWN1cnJlbnRfbGVuICs9IHN0cmxlbihjb21tYW5kICsgY3VycmVudF9sZW4pOwotCisJCQlhcHBl bmRTdHJpbmdJbmZvKCZzdHJidWYsICIgJXMiLCBpZGVudCk7CiAJCQlwZnJlZShpZGVudCk7CiAJ CX0KLQorCQljb21tYW5kID0gc3RyYnVmLmRhdGE7CiAJCWVyZXBvcnQoREVCVUcxLAogCQkJCShl cnJtc2coImV4ZWN1dGluZyByZXBsaWNhdGlvbiBkZWxheSBjb21tYW5kOiAlcyIsIGNvbW1hbmQp KSk7CiAK ----Next_Part(Thu_Jan__8_11_19_11_2026_163)----