From: Justin Pryzby <pryzby@telsasoft.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: 李杰(慎追) <adger.lj@alibaba-inc.com>
Cc: pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Cc: 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Subject: Re: 回复:how to create index concurrently on partitioned table
Date: Wed, 12 Aug 2020 00:28:20 -0500
Message-ID: <20200812052820.GW20473@telsasoft.com> (raw)
In-Reply-To: <20200812045438.GA11663@paquier.xyz>
References: <20200618024114.GF118592@paquier.xyz>
<20200616010221.GA2353@paquier.xyz>
<20200615123742.GL52676@paquier.xyz>
<20200808063744.GG20473@telsasoft.com>
<20200809050009.GA17986@paquier.xyz>
<20200809234423.GH20473@telsasoft.com>
<20200812045438.GA11663@paquier.xyz>
Thanks for helping with this.
On Wed, Aug 12, 2020 at 01:54:38PM +0900, Michael Paquier wrote:
> +++ b/src/backend/catalog/index.c
> @@ -3661,20 +3662,12 @@ reindex_relation(Oid relid, int flags, int options)
> + elog(ERROR, "unsupported relation kind for relation \"%s\"",
> + RelationGetRelationName(rel));
I guess it should show the relkind(%c) in the message, like these:
src/backend/commands/tablecmds.c: elog(ERROR, "unexpected relkind: %d", (int) relkind);
src/backend/tcop/utility.c: elog(ERROR, "unexpected relkind \"%c\" on partition \"%s\"",
ISTM reindex_index is missing that, too:
8b08f7d4820fd7a8ef6152a9dd8c6e3cb01e5f99
+ if (iRel->rd_rel->relkind == RELKIND_PARTITIONED_INDEX)
+ elog(ERROR, "unsupported relation kind for index \"%s\"",
+ RelationGetRelationName(iRel));
> diff --git a/doc/src/sgml/ref/reindex.sgml b/doc/src/sgml/ref/reindex.sgml
> @@ -259,8 +263,12 @@ REINDEX [ ( <replaceable class="parameter">option</replaceable> [, ...] ) ] { IN
> </para>
>
> <para>
> - Reindexing partitioned tables or partitioned indexes is not supported.
> - Each individual partition can be reindexed separately instead.
> + Reindexing partitioned indexes or partitioned tables is supported
> + with respectively <command>REINDEX INDEX</command> or
> + <command>REINDEX TABLE</command>.
Should say "..with REINDEX INDEX or REINDEX TABLE, respectively".
> + Each partition of the partitioned
> + relation defined is rebuilt in its own transaction.
=> Each partition of the specified partitioned relation is reindexed in a
separate transaction.
--
Justin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: pryzby@telsasoft.com, michael@paquier.xyz, adger.lj@alibaba-inc.com, pgsql-hackers@lists.postgresql.org, wenjing.zwj@alibaba-inc.com, alvherre@2ndquadrant.com
Subject: Re: 回复:how to create index concurrently on partitioned table
In-Reply-To: <20200812052820.GW20473@telsasoft.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox