BUG #18189: Value partitioned tables: Upd ERROR: more than one row returned by a subquery used as an expression

PG Bug reporting form <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: buschmann@nidsa.net
Date: 2023-11-10T11:07:20Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      18189
Logged by:          Hans Buschmann
Email address:      buschmann@nidsa.net
PostgreSQL version: 16.1
Operating system:   Fedora 39 x86-64 64bit, also on Win64
Description:        

Recently I worked with GAIA astronomical data to import them into my
self-defined data tables.
The table layout is quite old (pg11?) and still has some limitations of that
time.

I adopted the import statement to reflect the new data structure.

On almost every try to import a source file I got the error:

psql:source_to_arrays_ERR.sql:179: ERROR:  more than one row returned by a
subquery used as an expression

BUT: in my statements there are no subqueries used as an expression!

The little data file GaiaSource_262134-265343_3E.csv successes on the update
query and produces no error.

The greater data file GaiaSource_131011-132722_1E.csv shows the error.

The error was first detected on pg 16.0 but is also present in 16.1

Steps to reproduce:

1. save all attachments to a directory
2. unzip the 2 data files
3. manually execute the steps in steps_for_partition_err.sql (no full
automation because of filepaths etc.)

Background:

My suspicion of a possible cause comes from the value partitioned tables.
I have a newer version which uses range partitioned tables and a slight
adjusted update statement. This succeeds in importing all of these data
files without error.

I think there is a hidden error in processing this statement, which seems
generally correct from a users perspective as shown by the little data
set.

PS: since https://www.postgresql.org/account/submitbug/ does not allow
attachments, they are put in a followup message!

Thank you for investigating!

Hans Buschmann