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.94.2) (envelope-from ) id 1tcbf2-001Jk2-Cb for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Jan 2025 02:49:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tcbf1-00G2X2-5T for pgsql-hackers@arkaria.postgresql.org; Tue, 28 Jan 2025 02:49:07 +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.94.2) (envelope-from ) id 1tcbf0-00G2Wu-SS for pgsql-hackers@lists.postgresql.org; Tue, 28 Jan 2025 02:49:06 +0000 Received: from mail-ua1-x932.google.com ([2607:f8b0:4864:20::932]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tcbex-001syj-34 for pgsql-hackers@postgresql.org; Tue, 28 Jan 2025 02:49:06 +0000 Received: by mail-ua1-x932.google.com with SMTP id a1e0cc1a2514c-85c4c9349b3so1254253241.3 for ; Mon, 27 Jan 2025 18:49:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738032541; x=1738637341; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=oioW90BG1+xbk9jHr5gkCYYrxLxxnvdPWgRLwZTaEXQ=; b=mS7mhB2on3LZ/geZ8sTEWqeaJ/wsbyChZu3CsnBUpFXNwdvPxkB37Onskt7ukWihuu YUFIK85CxowPYfa2J4Ay5EYKu8QmaP3P3BfmVIl7AmyTrUDz7hR7DWFvztgk955P7StK 1YQlNx2aY2DVZXl7HQaKjJ/Z7lvCe/VtMXOf0hlPJFq8nbdIH1/3MStZTQLcyCu5lu7Z gIsckXVICCDL3lCrP9e1zCf5vXTTn4T+YL7/9CfGWoJGzwy9jlpAN23BA8vGcH0e8sTX 6c/JpC9M7B1/uGOSMw5F0MUp+13P2ONGOh0hCvNxffjEDPJlWkP8QJepASEWVwNo6V1G e+vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738032541; x=1738637341; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oioW90BG1+xbk9jHr5gkCYYrxLxxnvdPWgRLwZTaEXQ=; b=Y57+W5N1YTYRecWS5/62e4HlAfIM7LgnWePNlnzJmHe0fBBShjmTPFWxGgZv0CZ87v hRg7Y7sHRHsEYVCdmUIgfOYMC9tauJ21/jbg1HMHi0EjqliEQAwB9sJAlhJEXL+Aeduk P+gkldfemS1UPl6DLqyJ29Vg4oJM+CbO1B/B03zLvGlMv9fJNDXbhSV32ycNMMKBEIdF k+FVZ1Ckun1qZc7njJHtnS9KTYBYvC7pAtvVx/j5CSC2zEwwBkkcGnfxVuTGR9wtrObq R9EOdn8NDqXus2oNjmq8kmqbMBHTlC/cYbW2eNvBvH/x+zX7TjPrjRkQauOLE7d43atu 8yAA== X-Gm-Message-State: AOJu0YyZMle7p/LSsknil6t8fd4t8v4T9N+7EZicrH+Tc4D0azuRSwzD KpLiDtSpQDsSGa/OcGerDUtTk8pwPmc8VA0wUegvtWiCtOjzYBgx54dT02SrWCkurCCac8rFJfz +pevCi9ii8/tLcPavqFd+iCnC5wOymhIXYg8= X-Gm-Gg: ASbGncuhoH37nVCK82YPo0+ite/lgwdd1RM2UtER09re3AJVGndECdLfJiKT08rhps8 LAWgzbrAmBD6r0aXx8XY84AqKnTPnt6wsTv8BQFds7+eW+wHD0ej60Si5DTZcHCEiDI2b+jlJuU WLKK9Dux46QgfwEV7iJLAahPmTpr4= X-Google-Smtp-Source: AGHT+IG0b4YwtOAFeOYejkunR+wWTu5dwxPpWeXSMndHB8hUnIIEVt10hQiNNOKO0E/CTESCqwyMp/+rxayouSCmF5k= X-Received: by 2002:a05:6102:1625:b0:4b2:ad50:a99c with SMTP id ada2fe7eead31-4b690b86c0fmr39474333137.2.1738032541490; Mon, 27 Jan 2025 18:49:01 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: jian he Date: Tue, 28 Jan 2025 10:48:25 +0800 X-Gm-Features: AWEUYZnzvFmA6Gkn1tIRzJmZ051XDvvrd_w8QVDzba3krtel9wdPxTXAHTg_dzQ Message-ID: Subject: Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query). To: PostgreSQL-development Cc: Tom Lane , Michael Paquier Content-Type: multipart/mixed; boundary="0000000000003e89b2062cbb3c9c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000003e89b2062cbb3c9c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jan 6, 2025 at 5:34=E2=80=AFPM jian he wrote: > > hi. > > about this issue, > last email in 2012 (https://postgr.es/m/8967.1353167301@sss.pgh.pa.us) > """ > Even if it happens to be trivial in the current patch, it's an added > functional requirement that we might later regret having cavalierly > signed up for. And, as noted upthread, relations that support only > one direction of COPY don't exist at the moment; that would be adding > an asymmetry that we might later regret, too. > > regards, tom lane > """ > > but now we have numerous COPY options that work solely in a single > direction of COPY. > I think now we can make some kind of relation (pg_class.relkind) that > only works in one direction of COPY. hi. patch attached. also cc to Tom, since at that time, you are against the idea of ``COPY matview TO``. --0000000000003e89b2062cbb3c9c Content-Type: text/x-patch; charset="US-ASCII"; name="v1-0001-COPY-materialized_view-TO.patch" Content-Disposition: attachment; filename="v1-0001-COPY-materialized_view-TO.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m6fvn3cm0 RnJvbSBhNjE4ZTcyYWUzM2I2Njg4ZTc1ZGJjZmQ1Njc0YjU1OGUxN2VlMjY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMjggSmFuIDIwMjUgMTA6NDY6MDMgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx IDEvMV0gQ09QWSBtYXRlcmlhbGl6ZWRfdmlldyBUTwoKY29udGV4dDogaHR0cHM6Ly9wb3N0Z3Iu ZXMvbS84OTY3LjEzNTMxNjczMDFAc3NzLnBnaC5wYS51cwpjb250ZXh0OiBodHRwczovL3d3dy5w b3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvMjAxMjExMTYxNjI1NTguOTAxNTAlNDBnbXgu Y29tCmRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0FDSnVmeEhWeG55Ull5NjdoaVBl UE5DUHdWQk16aFRRNkZhTDlfVGU1T245dWRHPXlnQG1haWwuZ21haWwuY29tCi0tLQogc3JjL2Jh Y2tlbmQvY29tbWFuZHMvY29weXRvLmMgfCAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvY29weXRvLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5dG8uYwppbmRl eCA5OWNiMjNjYjM0Li4xMzUwNjAyM2Y4IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5k cy9jb3B5dG8uYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb3B5dG8uYwpAQCAtMzgwLDEx ICszODAsMTMgQEAgQmVnaW5Db3B5VG8oUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQkJCQkJCVJlbGF0 aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpLAogCQkJCQkgZXJyaGludCgiVHJ5IHRoZSBDT1BZIChT RUxFQ1QgLi4uKSBUTyB2YXJpYW50LiIpKSk7CiAJCWVsc2UgaWYgKHJlbC0+cmRfcmVsLT5yZWxr aW5kID09IFJFTEtJTkRfTUFUVklFVykKLQkJCWVyZXBvcnQoRVJST1IsCi0JCQkJCShlcnJjb2Rl KEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZUEUpLAotCQkJCQkgZXJybXNnKCJjYW5ub3QgY29weSBm cm9tIG1hdGVyaWFsaXplZCB2aWV3IFwiJXNcIiIsCi0JCQkJCQkJUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUocmVsKSksCi0JCQkJCSBlcnJoaW50KCJUcnkgdGhlIENPUFkgKFNFTEVDVCAuLi4pIFRP IHZhcmlhbnQuIikpKTsKKwkJeworCQkJaWYgKCFSZWxhdGlvbklzUG9wdWxhdGVkKHJlbCkpCisJ CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQ T1JURUQpLAorCQkJCQkJZXJybXNnKCJjYW5ub3QgY29weSBmcm9tIG1hdGVyaWFsaXplZCB2aWV3 IHdoZW4gdGhlIG1hdGVyaWFsaXplZCB2aWV3IGlzIG5vdCBwb3B1bGF0ZWQiKSwKKwkJCQkJCWVy cmhpbnQoIlVzZSB0aGUgUkVGUkVTSCBNQVRFUklBTElaRUQgVklFVyBjb21tYW5kIHBvcHVsYXRl IHRoZSBtYXRlcmlhbGl6ZWQgdmlldyBmaXJzdC4iKSk7CisJCX0KIAkJZWxzZSBpZiAocmVsLT5y ZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9GT1JFSUdOX1RBQkxFKQogCQkJZXJlcG9ydChFUlJP UiwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0tIAoyLjM0LjEK Cg== --0000000000003e89b2062cbb3c9c--