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 1vRrG1-007EgT-04 for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Dec 2025 12:19:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vRrFz-00Bfgf-1V for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Dec 2025 12:19:23 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vRrFy-00BfgW-2x for pgsql-hackers@lists.postgresql.org; Sat, 06 Dec 2025 12:19:23 +0000 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vRrFv-003R88-2h for pgsql-hackers@lists.postgresql.org; Sat, 06 Dec 2025 12:19:22 +0000 Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-b79af62d36bso497365466b.3 for ; Sat, 06 Dec 2025 04:19:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=f10-com-br.20230601.gappssmtp.com; s=20230601; t=1765023558; x=1765628358; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=JvnFkhEgDf9Ul5hcSZjT0YSnVtax6N+TgaoYDyO+4s8=; b=PONCAUhSoRqrHenkXtkJBF6znWGxLoYroptw6SUZZ5lVk1MBX1cxszcDSSKEox+0rT ea9306C0wo1JlUef+aH3jN+WnsU3W1kjWhYIx8rXmBkZDRu/H5v6crwfrB+tRJ02ri4R JitJshdrfAutuUQhaDexKCNd2vg1w0Umi07HB7snGn2M8IvkTGTdc35li+q+tnUQeLHD JNhBCuncliHQS9NImm4UO3bqxUDIRFbnhnsUX9Y2CEforr7BG1jc2DwgNF8/uqu7Uc+Q EwqDN5c0t6WTYqQycTx+15DdLMKR3TMipa1FrdeAIbM4L0hFUTUTBQV49UuQMEZSDNHe YYHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765023558; x=1765628358; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JvnFkhEgDf9Ul5hcSZjT0YSnVtax6N+TgaoYDyO+4s8=; b=VGi4536mn78TGavcqiUQ7rufTjmqRBoLpaOPI6/ydwvs3nyshuNkycHMVExqsVrl9N Z+1OdNXJ7/dcjb54dxnv3tysAerq4IqffSUMNAUxGyeaAXVi/uXPGe9w7ZCkM808PKcs YphngRWSEkRRS5Jki9y/XiU8/Pqe+srT1+P5iz6NRwoyB9ikpuUN/8SKWL0DeRjhyaH6 k7B1HYwRbTt8HYITHYHCHVQgsig6weF9jIpQ3Dr1jvbxClq+W8w3mPV1tywPv2UVxRP7 GalWu775BmroWfk7Gt3lG4YXEyyoxnPKJGCEBseWR/9itK/wdN4DuBSQptSsV+kQrbAX Yvow== X-Gm-Message-State: AOJu0YyY/xowQo7Ti55wA0nZmaddVIyOkMp3AOcBl4HfrqKHBqXeMjyW Xwncc56SwHnGDss+IsVO8awZI5acWdLO7ZoRbt51btEhQsj+gE//33KGm9mUWIosoB6UgCFBHxj lY/77z0WcAZ5uGyKOwfE5ZcgaCB/VrhB0bn8f8Bhq3kaENsXsigpHjQ== X-Gm-Gg: ASbGncv7iyomc4E/zk4VBSdpOo9apyVXWJyY3MJkKAVC7jWtH4/ZuA7ST/bi0geFa7w OSyYu/kJXG9DBfN2HnX7eTrIHVEPMSrrrgNhnzdhotNh2tDbi4nZzKs6vuGx2/LHv1YZS5s34WH ysHlfAVyOq2FakMzKdtsWZLnx070RbbMDECQQQGNJKeY6rqWe2gVoz9HZRcR373xTe3s1qgBP5Y pXTj3S2tfzNJZRDm1aFAsjB9KwvOFHVfqtg2Rw7QyXcTJJO+M25e2URf5zfXAZHLm3oXqmdRg== X-Google-Smtp-Source: AGHT+IF7t95TOdSJe7j8A3Byjwu9OSV89zoFm4s7W4SJ5lOBCl6mBz6YWWDkOggaiX0IvdxA6mFRjkkrRwG44LODd3A= X-Received: by 2002:a17:907:789:b0:b71:ea7c:e4ff with SMTP id a640c23a62f3a-b7a242d8177mr197118766b.6.1765023558004; Sat, 06 Dec 2025 04:19:18 -0800 (PST) MIME-Version: 1.0 From: Marcos Pegoraro Date: Sat, 6 Dec 2025 09:18:41 -0300 X-Gm-Features: AWmQ_bnW6Tell8ibMm5HjO5SFEh0Vbmn4msTzgniFJ_Bdyt7EItGsOSoj9LHVjU Message-ID: Subject: Initial COPY of Logical Replication is too slow To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000324d5a064547928f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000324d5a064547928f Content-Type: multipart/alternative; boundary="000000000000324d59064547928d" --000000000000324d59064547928d Content-Type: text/plain; charset="UTF-8" Subscriber needs to ask publisher about tables and fields to COPY and it uses pg_get_publication_tables for that, and it is too slow when the number of tables is high because on every table it's subscribed it has to run this select. We can get the same result with a join on pg_publication_rel. regards Marcos --000000000000324d59064547928d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Subscriber needs to ask publisher about = tables and fields to COPY and it uses pg_get_publication_tables for that, a= nd it is too slow when the number of tables is high because on every=C2=A0t= able it's subscribed=C2=A0it has to run this select.=C2=A0
We can get the same result with a join on pg_publication_rel.

regards
Marcos
--000000000000324d59064547928d-- --000000000000324d5a064547928f Content-Type: application/octet-stream; name="V1-Initial COPY of Logical Replication.diff" Content-Disposition: attachment; filename="V1-Initial COPY of Logical Replication.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_miu99u2r0 RnJvbSBlMmZkZmY0ZjEzZTA1YTVlOTExYTJhYjBjZTVjMzg2Zjc5NWRhY2U4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZWdvcmFyb0YxMCA8bWFyY29zQGYxMC5jb20uYnI+CkRhdGU6 IFNhdCwgNiBEZWMgMjAyNSAwODo1NDowNSAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEZ1bmN0aW9u IHBnX2dldF9wdWJsaWNhdGlvbl90YWJsZXMgaXMgdG9vIHNsb3csIGNoYW5nZWQgdG8KIHBnX3B1 YmxpY2F0aW9uX3JlbCBhbmQgcGdfcHVibGljYXRpb24KCi0tLQogc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyB8IDMyICsrKysrKysrKystLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCmluZGV4IDZiYjBjYmVlZGFkLi4x YmE4MjYxMzA4YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90 YWJsZXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3lu Yy5jCkBAIC03OTksMTYgKzc5OSwxNCBAQCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpu c3BuYW1lLCBjaGFyICpyZWxuYW1lLCBMb2dpY2FsUmVwUmVsYXRpb24gKmxyZWwsCiAJCSAqLwog CQlyZXNldFN0cmluZ0luZm8oJmNtZCk7CiAJCWFwcGVuZFN0cmluZ0luZm8oJmNtZCwKLQkJCQkJ CSAiU0VMRUNUIERJU1RJTkNUIgotCQkJCQkJICIgIChDQVNFIFdIRU4gKGFycmF5X2xlbmd0aChn cHQuYXR0cnMsIDEpID0gYy5yZWxuYXR0cykiCi0JCQkJCQkgIiAgIFRIRU4gTlVMTCBFTFNFIGdw dC5hdHRycyBFTkQpIgotCQkJCQkJICIgIEZST00gcGdfcHVibGljYXRpb24gcCwiCi0JCQkJCQkg IiAgTEFURVJBTCBwZ19nZXRfcHVibGljYXRpb25fdGFibGVzKHAucHVibmFtZSkgZ3B0LCIKLQkJ CQkJCSAiICBwZ19jbGFzcyBjIgotCQkJCQkJICIgV0hFUkUgZ3B0LnJlbGlkID0gJXUgQU5EIGMu b2lkID0gZ3B0LnJlbGlkIgotCQkJCQkJICIgICBBTkQgcC5wdWJuYW1lIElOICggJXMgKSIsCi0J CQkJCQkgbHJlbC0+cmVtb3RlaWQsCi0JCQkJCQkgcHViX25hbWVzLT5kYXRhKTsKKyAgICAgICAg ICAgICAgICAgICAgIAkiU0VMRUNUIENBU0UgV0hFTiBjYXJkaW5hbGl0eShyLnByYXR0cnMpIDw+ IHJlbG5hdHRzIFRIRU4gIgorCQkJCQkJInIucHJhdHRycyBFTkQgRlJPTSBwZ19jbGFzcyBjICIK KwkJCQkJCSJMRUZUIEpPSU4gTEFURVJBTCAoU0VMRUNUIERJU1RJTkNUIHByYXR0cnMgRlJPTSAi CisJCQkJCQkicGdfcHVibGljYXRpb25fcmVsIHIgSU5ORVIgSk9JTiBwZ19wdWJsaWNhdGlvbiBw ICIKKwkJCQkJCSJPTiBwLm9pZCA9IHIucHJwdWJpZCBXSEVSRSBjLm9pZCA9IHIucHJyZWxpZCBB TkQgIgorCQkJCQkJInB1Ym5hbWUgaW4gKCAlcyApKSByIE9OIFRSVUUgV0hFUkUgYy5vaWQgPSAl dSIsCisJCQkJCQkgcHViX25hbWVzLT5kYXRhLAorCQkJCQkJIGxyZWwtPnJlbW90ZWlkKTsKIAog CQlwdWJyZXMgPSB3YWxyY3ZfZXhlYyhMb2dSZXBXb3JrZXJXYWxSY3ZDb25uLCBjbWQuZGF0YSwK IAkJCQkJCQkgbGVuZ3Rob2YoYXR0cnNSb3cpLCBhdHRyc1Jvdyk7CkBAIC05ODMsMTMgKzk4MSwx MyBAQCBmZXRjaF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpuc3BuYW1lLCBjaGFyICpyZWxuYW1l LCBMb2dpY2FsUmVwUmVsYXRpb24gKmxyZWwsCiAJCS8qIENoZWNrIGZvciByb3cgZmlsdGVycy4g Ki8KIAkJcmVzZXRTdHJpbmdJbmZvKCZjbWQpOwogCQlhcHBlbmRTdHJpbmdJbmZvKCZjbWQsCi0J CQkJCQkgIlNFTEVDVCBESVNUSU5DVCBwZ19nZXRfZXhwcihncHQucXVhbCwgZ3B0LnJlbGlkKSIK LQkJCQkJCSAiICBGUk9NIHBnX3B1YmxpY2F0aW9uIHAsIgotCQkJCQkJICIgIExBVEVSQUwgcGdf Z2V0X3B1YmxpY2F0aW9uX3RhYmxlcyhwLnB1Ym5hbWUpIGdwdCIKLQkJCQkJCSAiIFdIRVJFIGdw dC5yZWxpZCA9ICV1IgotCQkJCQkJICIgICBBTkQgcC5wdWJuYW1lIElOICggJXMgKSIsCi0JCQkJ CQkgbHJlbC0+cmVtb3RlaWQsCi0JCQkJCQkgcHViX25hbWVzLT5kYXRhKTsKKyAgICAgICAgICAg ICAgICAJCSJTRUxFQ1QgcGdfZ2V0X2V4cHIoci5wcnF1YWwsIHIucHJyZWxpZCkgRlJPTSBwZ19j bGFzcyBjICIKKwkJCQkJCSJMRUZUIEpPSU4gTEFURVJBTCAoU0VMRUNUIERJU1RJTkNUIHBycXVh bCwgcHJyZWxpZCBGUk9NICIKKwkJCQkJCSJwZ19wdWJsaWNhdGlvbl9yZWwgciBJTk5FUiBKT0lO IHBnX3B1YmxpY2F0aW9uIHAgT04gIgorCQkJCQkJInAub2lkID0gci5wcnB1YmlkIFdIRVJFIHIu cHJyZWxpZCA9IGMub2lkIEFORCAiCisJCQkJCQkicC5wdWJuYW1lIElOICggJXMgKSkgciBPTiBU UlVFIFdIRVJFIGMub2lkID0gJXUiLAorCQkJCQkJIHB1Yl9uYW1lcy0+ZGF0YSwKKwkJCQkJCSBs cmVsLT5yZW1vdGVpZCk7CiAKIAkJcmVzID0gd2FscmN2X2V4ZWMoTG9nUmVwV29ya2VyV2FsUmN2 Q29ubiwgY21kLmRhdGEsIDEsIHF1YWxSb3cpOwogCi0tIAoyLjUxLjAud2luZG93cy4xCgo= --000000000000324d5a064547928f--