The following bug has been logged on the website:
Bug reference: 19099
Logged by: Alexander Lakhin
Email address: exclusion@gmail.com
PostgreSQL version: 18.0
Operating system: Ubuntu 24.04
Description:
The following script:
CREATE EXTENSION file_fdw;
CREATE SERVER file_server FOREIGN DATA WRAPPER file_fdw;
CREATE TABLE pt (a int, b text) partition by list (a);
CREATE FOREIGN TABLE p1 partition of pt for values in (1) SERVER file_server
OPTIONS (format 'csv', filename '/tmp/1.csv');
SET enable_partition_pruning = 'off';
EXPLAIN DELETE FROM pt WHERE false;
raises:
ERROR: XX000: could not find junk ctid column
LOCATION: ExecInitModifyTable, nodeModifyTable.c:4867
(Discovered with SQLsmith.)
Reproduced starting from 86dc9005.
On 86dc9005~1 or with enable_partition_pruning = 'on', EXPLAIN outputs the
query plan and "DELETE FROM pt WHERE false;" completes with no error.