Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1jDpBZ-00018a-9Q for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2020 12:49:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1jDpBW-0001zs-Pp for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Mar 2020 12:49:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1jDpBV-0001ws-IX for pgsql-hackers@lists.postgresql.org; Mon, 16 Mar 2020 12:49:34 +0000 Received: from out4-smtp.messagingengine.com ([66.111.4.28]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jDpBS-0008Qu-Fq for pgsql-hackers@postgresql.org; Mon, 16 Mar 2020 12:49:32 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 2E0095C02DB; Mon, 16 Mar 2020 08:49:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Mon, 16 Mar 2020 08:49:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=oUqyv4 oKlRZKLnR37HNUIRQxeG0zYhrI2cabvUUzQO0=; b=GRYxIqPPIFI923oEtPn6Oc izO6ORgqCb8Dh4+7EsRC8djUch9Za+aAZvnOoD/8bXqzt6V2EuXrzQs1pnE75uUf wGUEMGxxfoAeSYQQvKUG7r8cuNf2XlxEWYpzWb4uE4McoP68F6uXQQLTweP++Zle QZSwyyxaeFtYetNE0mY/PlG6lne6F7sjipSvsO0yQJnN16vcqhusdhSyCtC5s8n6 F+c8GmxddnhxWTxkVzZ/CNPU2zQGcDQmgxy77/pjEPLoqSwEfElSoMvItSfnRGzo uP4ustVHgydcn6T+3AXQm+vh5YY81Ag3pSPS3ElVcha1xpJbVr6lDggXXtRPg42g == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrudeffedggeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrddvudefrddvgedunecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedv nhguqhhurggurhgrnhhtrdgtohhm X-ME-Proxy: Received: from april.pezone.net (p5df2d5f1.dip0.t-ipconnect.de [93.242.213.241]) by mail.messagingengine.com (Postfix) with ESMTPA id E7164328005E; Mon, 16 Mar 2020 08:49:27 -0400 (EDT) Subject: Re: adding partitioned tables to publications To: Amit Langote References: <7a23e60b-ffe8-bce1-5c44-db48d3bc163e@2ndquadrant.com> <825b31ea-ad9f-21d1-29b6-2a494513458d@2ndquadrant.com> <73a1877a-6f1d-9f2e-da51-bc2eb57e07d5@2ndquadrant.com> Cc: Rafia Sabih , PostgreSQL-development From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: Date: Mon, 16 Mar 2020 13:49:26 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------09B4E0E08E79946DFBC9BF17" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------09B4E0E08E79946DFBC9BF17 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I was trying to extract some preparatory work from the remaining patches and came up with the attached. This is part of your patch 0003, but also relevant for part 0004. The problem was that COPY (SELECT *) is not sufficient when the table has generated columns, so we need to build the column list explicitly. Thoughts? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------09B4E0E08E79946DFBC9BF17 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-Prepare-to-support-non-tables-in-publications.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Prepare-to-support-non-tables-in-publications.patch" RnJvbSBjNTI2NzJmZjFkZTRkN2M1NWM0YjUwZWI3OTg2ZjQ1ODAxZWE0YzYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogTW9uLCAxNiBNYXIgMjAyMCAxMzoyNzo1MSArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIFByZXBhcmUgdG8gc3VwcG9ydCBub24tdGFibGVzIGluIHB1YmxpY2F0aW9u cwoKVGhpcyBieSBpdHNlbGYgZG9lc24ndCBjaGFuZ2UgYW55IGZ1bmN0aW9uYWxpdHkgYnV0 IHByZXBhcmVzIHRoZSB3YXkKZm9yIGhhdmluZyByZWxhdGlvbnMgb3RoZXIgdGhhbiBiYXNl IHRhYmxlcyBpbiBwdWJsaWNhdGlvbnMuCgpNYWtlIGFycmFuZ2VtZW50cyBmb3IgQ09QWSBo YW5kbGluZyB0aGUgaW5pdGlhbCB0YWJsZSBzeW5jLiAgRm9yCm5vbi10YWJsZXMgd2UgaGF2 ZSB0byB1c2UgQ09QWSAoU0VMRUNUIC4uLikgaW5zdGVhZCBvZiBkaXJlY3RseQpjb3B5aW5n IGZyb20gdGhlIHRhYmxlLCBidXQgdGhlbiB3ZSBoYXZlIHRvIHRha2UgY2FyZSB0byBvbWl0 CmdlbmVyYXRlZCBjb2x1bW5zIGZyb20gdGhlIGNvbHVtbiBsaXN0LgoKQWxzbywgcmVtb3Zl IGEgaGFyZGNvZGVkIHJlZmVyZW5jZSB0byByZWxraW5kID0gJ3InIGFuZCByZWx5IG9uCnBn X3JlbGF0aW9uX2lzX3B1Ymxpc2hhYmxlKCksIHdoaWNoIG1hdGNoZXMgd2hhdCB0aGUgcHVi bGlzaGVyIGNhbgphY3R1YWxseSBwdWJsaXNoIGFuZCBpcyBjb3JyZWN0IGV2ZW4gaW4gY3Jv c3MtdmVyc2lvbiBzY2VuYXJpb3MuCgpEaXNjdXNzaW9uOiBodHRwczovL3d3dy5wb3N0Z3Jl c3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvQ0ErSGl3cUg9WTg1dlJLM21PZGpFa3FGSytFPVNU PWVRaUhkcGo0M0w9X2VKTU9Pem5RQG1haWwuZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyB8IDQzICsrKysrKysrKysrKysrKyst LS0tLQogc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmggICAgICB8ICAx ICsKIDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3lu Yy5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYwppbmRl eCA5ODgyNWYwMWU5Li4zNThiMGEzNzI2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBs aWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKQEAgLTYzOSwyNiArNjM5LDI3IEBAIGZldGNoX3Jl bW90ZV90YWJsZV9pbmZvKGNoYXIgKm5zcG5hbWUsIGNoYXIgKnJlbG5hbWUsCiAJV2FsUmN2 RXhlY1Jlc3VsdCAqcmVzOwogCVN0cmluZ0luZm9EYXRhIGNtZDsKIAlUdXBsZVRhYmxlU2xv dCAqc2xvdDsKLQlPaWQJCQl0YWJsZVJvd1syXSA9IHtPSURPSUQsIENIQVJPSUR9OwotCU9p ZAkJCWF0dHJSb3dbNF0gPSB7VEVYVE9JRCwgT0lET0lELCBJTlQ0T0lELCBCT09MT0lEfTsK KwlPaWQJCQl0YWJsZVJvd1tdID0ge09JRE9JRCwgQ0hBUk9JRCwgQ0hBUk9JRCwgQk9PTE9J RH07CisJT2lkCQkJYXR0clJvd1tdID0ge1RFWFRPSUQsIE9JRE9JRCwgSU5UNE9JRCwgQk9P TE9JRH07CiAJYm9vbAkJaXNudWxsOwogCWludAkJCW5hdHQ7CisJYm9vbAkJcmVtb3RlX2lz X3B1Ymxpc2hhYmxlOwogCiAJbHJlbC0+bnNwbmFtZSA9IG5zcG5hbWU7CiAJbHJlbC0+cmVs bmFtZSA9IHJlbG5hbWU7CiAKIAkvKiBGaXJzdCBmZXRjaCBPaWQgYW5kIHJlcGxpY2EgaWRl bnRpdHkuICovCiAJaW5pdFN0cmluZ0luZm8oJmNtZCk7Ci0JYXBwZW5kU3RyaW5nSW5mbygm Y21kLCAiU0VMRUNUIGMub2lkLCBjLnJlbHJlcGxpZGVudCIKKwlhcHBlbmRTdHJpbmdJbmZv KCZjbWQsICJTRUxFQ1QgYy5vaWQsIGMucmVscmVwbGlkZW50LCBjLnJlbGtpbmQsIgorCQkJ CQkgIiAgICBwZ19yZWxhdGlvbl9pc19wdWJsaXNoYWJsZShjLm9pZCkiCiAJCQkJCSAiICBG Uk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYyIKIAkJCQkJICIgIElOTkVSIEpPSU4gcGdfY2F0 YWxvZy5wZ19uYW1lc3BhY2UgbiIKIAkJCQkJICIgICAgICAgIE9OIChjLnJlbG5hbWVzcGFj ZSA9IG4ub2lkKSIKIAkJCQkJICIgV0hFUkUgbi5uc3BuYW1lID0gJXMiCi0JCQkJCSAiICAg QU5EIGMucmVsbmFtZSA9ICVzIgotCQkJCQkgIiAgIEFORCBjLnJlbGtpbmQgPSAnciciLAor CQkJCQkgIiAgIEFORCBjLnJlbG5hbWUgPSAlcyIsCiAJCQkJCSBxdW90ZV9saXRlcmFsX2Nz dHIobnNwbmFtZSksCiAJCQkJCSBxdW90ZV9saXRlcmFsX2NzdHIocmVsbmFtZSkpOwotCXJl cyA9IHdhbHJjdl9leGVjKHdyY29ubiwgY21kLmRhdGEsIDIsIHRhYmxlUm93KTsKKwlyZXMg PSB3YWxyY3ZfZXhlYyh3cmNvbm4sIGNtZC5kYXRhLCBsZW5ndGhvZih0YWJsZVJvdyksIHRh YmxlUm93KTsKIAogCWlmIChyZXMtPnN0YXR1cyAhPSBXQUxSQ1ZfT0tfVFVQTEVTKQogCQll cmVwb3J0KEVSUk9SLApAQCAtNjc1LDYgKzY3NiwxMyBAQCBmZXRjaF9yZW1vdGVfdGFibGVf aW5mbyhjaGFyICpuc3BuYW1lLCBjaGFyICpyZWxuYW1lLAogCUFzc2VydCghaXNudWxsKTsK IAlscmVsLT5yZXBsaWRlbnQgPSBEYXR1bUdldENoYXIoc2xvdF9nZXRhdHRyKHNsb3QsIDIs ICZpc251bGwpKTsKIAlBc3NlcnQoIWlzbnVsbCk7CisJbHJlbC0+cmVsa2luZCA9IERhdHVt R2V0Q2hhcihzbG90X2dldGF0dHIoc2xvdCwgMywgJmlzbnVsbCkpOworCUFzc2VydCghaXNu dWxsKTsKKwlyZW1vdGVfaXNfcHVibGlzaGFibGUgPSBEYXR1bUdldEJvb2woc2xvdF9nZXRh dHRyKHNsb3QsIDQsICZpc251bGwpKTsKKwlpZiAoaXNudWxsIHx8ICFyZW1vdGVfaXNfcHVi bGlzaGFibGUpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycm1zZygidGFibGUgXCIlcy4l c1wiIG9uIHRoZSBwdWJsaXNoZXIgaXMgbm90IHB1Ymxpc2hhYmxlIiwKKwkJCQkJCW5zcG5h bWUsIHJlbG5hbWUpKSk7CiAKIAlFeGVjRHJvcFNpbmdsZVR1cGxlVGFibGVTbG90KHNsb3Qp OwogCXdhbHJjdl9jbGVhcl9yZXN1bHQocmVzKTsKQEAgLTY5Niw3ICs3MDQsNyBAQCBmZXRj aF9yZW1vdGVfdGFibGVfaW5mbyhjaGFyICpuc3BuYW1lLCBjaGFyICpyZWxuYW1lLAogCQkJ CQkgbHJlbC0+cmVtb3RlaWQsCiAJCQkJCSAod2FscmN2X3NlcnZlcl92ZXJzaW9uKHdyY29u bikgPj0gMTIwMDAwID8gIkFORCBhLmF0dGdlbmVyYXRlZCA9ICcnIiA6ICIiKSwKIAkJCQkJ IGxyZWwtPnJlbW90ZWlkKTsKLQlyZXMgPSB3YWxyY3ZfZXhlYyh3cmNvbm4sIGNtZC5kYXRh LCA0LCBhdHRyUm93KTsKKwlyZXMgPSB3YWxyY3ZfZXhlYyh3cmNvbm4sIGNtZC5kYXRhLCBs ZW5ndGhvZihhdHRyUm93KSwgYXR0clJvdyk7CiAKIAlpZiAocmVzLT5zdGF0dXMgIT0gV0FM UkNWX09LX1RVUExFUykKIAkJZXJlcG9ydChFUlJPUiwKQEAgLTc2NSw4ICs3NzMsMjUgQEAg Y29weV90YWJsZShSZWxhdGlvbiByZWwpCiAKIAkvKiBTdGFydCBjb3B5IG9uIHRoZSBwdWJs aXNoZXIuICovCiAJaW5pdFN0cmluZ0luZm8oJmNtZCk7Ci0JYXBwZW5kU3RyaW5nSW5mbygm Y21kLCAiQ09QWSAlcyBUTyBTVERPVVQiLAotCQkJCQkgcXVvdGVfcXVhbGlmaWVkX2lkZW50 aWZpZXIobHJlbC5uc3BuYW1lLCBscmVsLnJlbG5hbWUpKTsKKwlpZiAobHJlbC5yZWxraW5k ID09IFJFTEtJTkRfUkVMQVRJT04pCisJCWFwcGVuZFN0cmluZ0luZm8oJmNtZCwgIkNPUFkg JXMgVE8gU1RET1VUIiwKKwkJCQkJCSBxdW90ZV9xdWFsaWZpZWRfaWRlbnRpZmllcihscmVs Lm5zcG5hbWUsIGxyZWwucmVsbmFtZSkpOworCWVsc2UKKwl7CisJCS8qCisJCSAqIEZvciBu b24tdGFibGVzLCB3ZSBuZWVkIHRvIGRvIENPUFkgKFNFTEVDVCAuLi4pLCBidXQgd2UgY2Fu J3QganVzdAorCQkgKiBkbyBTRUxFQ1QgKiBiZWNhdXNlIHdlIG5lZWQgdG8gbm90IGNvcHkg Z2VuZXJhdGVkIGNvbHVtbnMuCisJCSAqLworCQlhcHBlbmRTdHJpbmdJbmZvKCZjbWQsICJD T1BZIChTRUxFQ1QgIik7CisJCWZvciAoaW50IGkgPSAwOyBpIDwgbHJlbC5uYXR0czsgaSsr KQorCQl7CisJCQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsIHF1b3RlX2lkZW50aWZp ZXIobHJlbC5hdHRuYW1lc1tpXSkpOworCQkJaWYgKGkgPCBscmVsLm5hdHRzIC0gMSkKKwkJ CQlhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKCZjbWQsICIsICIpOworCQl9CisJCWFwcGVuZFN0 cmluZ0luZm8oJmNtZCwgIiBGUk9NICVzKSBUTyBTVERPVVQiLAorCQkJCQkJIHF1b3RlX3F1 YWxpZmllZF9pZGVudGlmaWVyKGxyZWwubnNwbmFtZSwgbHJlbC5yZWxuYW1lKSk7CisJfQog CXJlcyA9IHdhbHJjdl9leGVjKHdyY29ubiwgY21kLmRhdGEsIDAsIE5VTEwpOwogCXBmcmVl KGNtZC5kYXRhKTsKIAlpZiAocmVzLT5zdGF0dXMgIT0gV0FMUkNWX09LX0NPUFlfT1VUKQpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHByb3RvLmggYi9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaAppbmRleCAyY2MyZGM0ZGIz Li40ODYwNTYxYmU5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dp Y2FscHJvdG8uaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8u aApAQCAtNDksNiArNDksNyBAQCB0eXBlZGVmIHN0cnVjdCBMb2dpY2FsUmVwUmVsYXRpb24K IAljaGFyCSAgKiphdHRuYW1lczsJCS8qIGNvbHVtbiBuYW1lcyAqLwogCU9pZAkJICAgKmF0 dHR5cHM7CQkvKiBjb2x1bW4gdHlwZXMgKi8KIAljaGFyCQlyZXBsaWRlbnQ7CQkvKiByZXBs aWNhIGlkZW50aXR5ICovCisJY2hhcgkJcmVsa2luZDsJCS8qIHJlbW90ZSByZWxhdGlvbiBr aW5kICovCiAJQml0bWFwc2V0ICAqYXR0a2V5czsJCS8qIEJpdG1hcCBvZiBrZXkgY29sdW1u cyAqLwogfSBMb2dpY2FsUmVwUmVsYXRpb247CiAKLS0gCjIuMjUuMAoK --------------09B4E0E08E79946DFBC9BF17--