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 1rmZe1-008gym-4M for pgsql-admin@arkaria.postgresql.org; Tue, 19 Mar 2024 13:36:45 +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 1rmZdz-00EV34-3H for pgsql-admin@arkaria.postgresql.org; Tue, 19 Mar 2024 13:36:43 +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 1rmZdy-00EV2w-Kr for pgsql-admin@lists.postgresql.org; Tue, 19 Mar 2024 13:36:43 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rmZdv-005MzP-Rc for pgsql-admin@lists.postgresql.org; Tue, 19 Mar 2024 13:36:42 +0000 Received: by mail-ed1-x52a.google.com with SMTP id 4fb4d7f45d1cf-568aa3096e9so7073011a12.0 for ; Tue, 19 Mar 2024 06:36:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20230601.gappssmtp.com; s=20230601; t=1710855398; x=1711460198; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:to:from:subject:message-id:from:to:cc :subject:date:message-id:reply-to; bh=I6ILY5aZltpJvmo0dLT7RibSvoQ+0bk64bX+lMN9I2Q=; b=tuMQbftyiw7HDr6JqqVnnOYGrAmjMv/ejH6zIa7L5j65LvYSSY2CjWw5pVPKZ5eJFH We+m7SXjKDVcbBtWd0+XBzKQiI3vSPwBtsWKw+1pK0ae455iSSb0FWp5gMsuMgLgl2J0 Ly1EPw9B8gQdh13XctLNbF8Sv3QVWSEz0c+SE9SA09UMmrpnkwtQKHWAb+xtxaRQ3mSP WoZCWxOQpe2moCq7hRsncZnJqbJf1QblfIOz947ff8k2mNN7ORFnAapOjzyQprjVmRfJ lffnRCjQhoNrqzHL/mO2JzdBRe8NqQk5R6KoCEAzZjuc2VfkNNMfcEOtFxVJGm4FxbVT YRAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710855398; x=1711460198; h=mime-version:user-agent:content-transfer-encoding:autocrypt :references:in-reply-to:date:to:from:subject:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I6ILY5aZltpJvmo0dLT7RibSvoQ+0bk64bX+lMN9I2Q=; b=vIYrydHobRumWjXnLN60vrmoYZr5Q0FdZ+GzpS4em4PZanol3HvtKqlZno1LbuYH17 e5lYC0jz7qmKrBVo947kPTBvcfXB0mOn1qSunjYjlYTODJUeYmXic3Eroc255VO5rVHf pyNOFuI39RjVwLmTx1hD6RQ4EXBe2Ed26VE2zPdyD2Ppv7t/dSd4MQxLYVUUCNiE6kWf K0i4Ok9zQjWKvIiAFwb7AbwzryQ/SgpYQtyRipGW8/57/7Dpm6RHUTeVQhzf2XZu9UOz d685251nDyH9593+jov0UwpUYZSJRbrP1cUOG4xTuzcOn8tAL4BB7rfpfHQbXVCo7ztb rdRA== X-Forwarded-Encrypted: i=1; AJvYcCWQdpcZR3voY++YLYb3m/9USCeXPso3bZiQi1Wthg08Dlvk6FuRhGlZGJpNRADaQzR/0woo+f7sfMTGiQKTiiFlq/y0NEkkIeuWEZIdlPOQ3g== X-Gm-Message-State: AOJu0Yy/n3ydpDFQ3mymWzZlYr+OxqT5I3GdOT09VkjfK7i05g1WcOoQ NAayItsgTM5vDxtLQrMNM2419M/Yyv/eUYd3pXaK4w8GhF/ElcLDMZGIHQTH6s87mHvaVKoicVy 6bNg= X-Google-Smtp-Source: AGHT+IGtVocXmBvevuJrEH0AicL9QfENniM+3Ql2BqH8V4xwuQ9bH8xlMmTkVKndvJNI/7x1iH0Ycg== X-Received: by 2002:a17:906:5591:b0:a46:8359:2e8c with SMTP id y17-20020a170906559100b00a4683592e8cmr2570171ejp.14.1710855398206; Tue, 19 Mar 2024 06:36:38 -0700 (PDT) Received: from localhost.localdomain ([2001:871:5e:6d62:bdc9:fe65:683b:6c0f]) by smtp.gmail.com with ESMTPSA id kt6-20020a170906aac600b00a4673706b4dsm5884393ejb.78.2024.03.19.06.36.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Mar 2024 06:36:37 -0700 (PDT) Message-ID: <26332d3f68c3dbc14d662e65e3a6ed256ee26dcc.camel@cybertec.at> Subject: Re: ERROR: cannot create index on partitioned table concurrently From: Laurenz Albe To: James Pang , pgsql-admin@lists.postgresql.org Date: Tue, 19 Mar 2024 14:36:36 +0100 In-Reply-To: References: Autocrypt: addr=laurenz.albe@cybertec.at; prefer-encrypt=mutual; keydata=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 +AnW5l0HsQcY9ntFL/zEBOaonjdJf Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2024-03-19 at 16:14 +0800, James Pang wrote: > PGv14 , we migrated from Oracle to Postgresql, recently, we migrate > index job from Oracle to PG. in Oracle, it's ok to create index online > on partitioned table, but in Postgresql,=C2=A0ERROR: =C2=A0cannot create = index > on partitioned table concurrently. Instead, I go to create index > concurrently on each child table separately.=C2=A0 > =C2=A0 =C2=A0 my question is, from SQL optimizer perspective, any differe= nce > between "create index on partitioned root table" and=C2=A0 "create each > index on child table directly", looks like optimizer still can use > indexes with directly created on each child table. Right. But it is good to have the partitioned index to make sure that all partitions have an index. See https://www.postgresql.org/docs/current/sql-createindex.html "Concurrent builds for indexes on partitioned tables are currently not supported. However, you may concurrently build the index on each partition individually and then finally create the partitioned index non-concurrently in order to reduce the time where writes to the partitioned table will be locked out. In this case, building the partitioned index is a metadata only operation." Yours, Laurenz Albe