Thread: BUG #16021: Can create Pk on partitioned table with foreign table as partition

BUG #16021: Can create Pk on partitioned table with foreign table as partition

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      16021
Logged by:          Stepan Yankevych
Email address:      stepya@ukr.net
PostgreSQL version: 11.5
Operating system:   CentOS Linux release 7.3.1611 (Core)
Description:

As far as I can see  the issue has been fixed in 11.5 with following
resolution: 
Ignore partitions that are foreign tables when creating indexes on
partitioned tables (Álvaro Herrera) 
Previously an error was thrown on encountering a foreign-table partition,
but that's unhelpful and doesn't protect against any actual problem.

But I still can't create Pk on partitioned table

See details: 
SELECT version();
PostgreSQL 11.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623
(Red Hat 4.8.5-36), 64-bit

ALTER TABLE fix_capture.fix_message_json ADD CONSTRAINT fix_message_json_pk
PRIMARY KEY (fix_message_id,date_id); 
SQL Error [42809]: ERROR: cannot create unique index on partitioned table
"fix_message_json"
  Detail: Table "fix_message_json" contains partitions that are foreign
tables.

Have I missed something?


Re: BUG #16021: Can create Pk on partitioned table with foreign tableas partition

From
Etsuro Fujita
Date:
On Wed, Sep 25, 2019 at 4:12 PM PG Bug reporting form
<noreply@postgresql.org> wrote:

> Bug reference:      16021
> Logged by:          Stepan Yankevych
> Email address:      stepya@ukr.net
> PostgreSQL version: 11.5
> Operating system:   CentOS Linux release 7.3.1611 (Core)
> Description:
>
> As far as I can see  the issue has been fixed in 11.5 with following
> resolution:
> Ignore partitions that are foreign tables when creating indexes on
> partitioned tables (Álvaro Herrera)
> Previously an error was thrown on encountering a foreign-table partition,
> but that's unhelpful and doesn't protect against any actual problem.
>
> But I still can't create Pk on partitioned table
>
> See details:
> SELECT version();
> PostgreSQL 11.5 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623
> (Red Hat 4.8.5-36), 64-bit
>
> ALTER TABLE fix_capture.fix_message_json ADD CONSTRAINT fix_message_json_pk
> PRIMARY KEY (fix_message_id,date_id);
> SQL Error [42809]: ERROR: cannot create unique index on partitioned table
> "fix_message_json"
>   Detail: Table "fix_message_json" contains partitions that are foreign
> tables.
>
> Have I missed something?

As I said in a previous mail, this is a limitation, not a bug.

Best regards,
Etsuro Fujita