Hi Amit, I tried creating 2-level partitioned table and tried to create simple table using CTAS from the partitioned table. It gives a cache lookup error. Here's the test CREATE TABLE pt1_l (a int, b varchar, c int) PARTITION BY RANGE(a); CREATE TABLE pt1_l_p1 PARTITION OF pt1_l FOR VALUES START (1) END (250) INCLUSIVE PARTITION BY RANGE(b); CREATE TABLE pt1_l_p2 PARTITION OF pt1_l FOR VALUES START (251) END (500) INCLUSIVE PARTITION BY RANGE(((a+c)/2)); CREATE TABLE pt1_l_p3 PARTITION OF pt1_l FOR VALUES START (501) END (600) INCLUSIVE PARTITION BY RANGE(c); CREATE TABLE pt1_l_p1_p1 PARTITION OF pt1_l_p1 FOR VALUES START ('000001') END ('000125') INCLUSIVE; CREATE TABLE pt1_l_p1_p2 PARTITION OF pt1_l_p1 FOR VALUES START ('000126') END ('000250') INCLUSIVE; CREATE TABLE pt1_l_p2_p1 PARTITION OF pt1_l_p2 FOR VALUES START (251) END (375) INCLUSIVE; CREATE TABLE pt1_l_p2_p2 PARTITION OF pt1_l_p2 FOR VALUES START (376) END (500) INCLUSIVE; CREATE TABLE pt1_l_p3_p1 PARTITION OF pt1_l_p3 FOR VALUES START (501) END (550) INCLUSIVE; CREATE TABLE pt1_l_p3_p2 PARTITION OF pt1_l_p3 FOR VALUES START (551) END (600) INCLUSIVE; INSERT INTO pt1_l SELECT i, to_char(i, 'FM000000'), i FROM generate_series(1, 600, 2) i; CREATE TABLE upt1_l AS SELECT * FROM pt1_l;
The last statement gives error "ERROR: cache lookup failed for function 0". Let me know if this problem is reproducible. On Thu, Jun 9, 2016 at 7:20 AM, Amit Langote <langote_amit...@lab.ntt.co.jp> wrote: > On 2016/06/08 22:22, Ashutosh Bapat wrote: > > On Mon, May 23, 2016 at 3:35 PM, Amit Langote wrote > >> > >> [...] > >> > >> I made a mistake in the last version of the patch which caused a > relcache > >> field to be pfree'd unexpectedly. Attached updated patches. > > > > 0003-... patch does not apply cleanly. It has some conflicts in > pg_dump.c. > > I have tried fixing the conflict in attached patch. > > Thanks. See attached rebased patches. > > Regards, > Amit > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company