Re: unsupportable composite type partition keys - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: unsupportable composite type partition keys
Date
Msg-id CAOBaU_aKw4b7eEvqd7xBUu=gr_P6AFPPhDMP2mz5vVXpu1Thtg@mail.gmail.com
Whole thread Raw
In response to Re: unsupportable composite type partition keys  (Jobin Augustine <jobinau@gmail.com>)
List pgsql-hackers
On Wed, Sep 9, 2020 at 4:17 PM Jobin Augustine <jobinau@gmail.com> wrote:
>
> Is there a way out if someone accidentally executes the same test case against PG12?
>
> testdb=# create table partitioned (a int, b int)
> testdb-#   partition by list ((row(a, b)::partitioned));
> CREATE TABLE
> testdb=# DROP TABLE partitioned;
> ERROR:  cache lookup failed for type 18269

AFAICT this is only a side effect of that particular use case if you
try to drop it without having a relcache entry.  Do any access before
dropping it and it should be fine, for instance:

rjuju=# create table partitioned (a int, b int)
rjuju-# partition by list ((row(a, b)::partitioned));
CREATE TABLE
rjuju=# DROP TABLE partitioned;
ERROR:  cache lookup failed for type 144845
rjuju=# \d partitioned
      Partitioned table "public.partitioned"
 Column |  Type   | Collation | Nullable | Default
--------+---------+-----------+----------+---------
 a      | integer |           |          |
 b      | integer |           |          |
Partition key: LIST ((ROW(a, b)::partitioned))
Number of partitions: 0

rjuju=# DROP TABLE partitioned;
DROP TABLE



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: SIGQUIT handling, redux
Next
From: Tom Lane
Date:
Subject: Re: Minor fixes for upcoming version 13