Обсуждение: BUG #17092: SELECT using LIMIT clause without ORDER BY fails when parallel query is on
BUG #17092: SELECT using LIMIT clause without ORDER BY fails when parallel query is on
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 17092 Logged by: Roberto Rosa Email address: roberto72@gmail.com PostgreSQL version: 13.3 Operating system: Ubuntu 20.04.2 LTS (Kernel 5.4.0-65 x86_64) Description: PostgreSQL is version 13.3. Operating system is Ubuntu 20.04.2 LTS. The table tested has 103968 records. Parameters "max_parallel_workers" and "max_parallel_workers_per_gather" are default (8 and 2, respectively). The table name and field were changed for privacy of the company involved. The query (1): SELECT * FROM the_table WHERE id=41 LIMIT 1 fails and reports the error: ERROR: invalid input syntax for type integer: "" CONTEXT: parallel worker However, if we add the ORDER BY clause (2); SELECT * FROM the_table WHERE id=41 ORDER BY 1 LIMIT 1 The result shown contains all the columns, as desired and expected. Also, if we remove the WHERE clause (3) SELECT * FROM the_table LIMIT 1 it shows the expected result. As this is a production database and the application is built by an external group of individuals, we are unable (at this moment) to change the code, including the ORDER BY clause. So, the temporary solution was to set both "max_parallel_workers" and "max_parallel_workers_per_gather" to 0 (zero) in the configuration file and reload the configuration. In doing that, the original query (1) succeeds, as all the other two queries - (2) and (3). If some information is missing, please let me know. Regards