Thread: deallocate statement failing
Hello, Version:- PostgreSQL 12.1 (Debian 12.1-2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 9.2.1-22) 9.2.1 20200104, 64-bit Log:- 2020-02-07 15:42:55 AEDT LOG: statement: SELECT COUNT(*) AS ps_count FROM pg_prepared_statements WHERE name = 'AIT1581050529' 2020-02-07 15:42:55 AEDT ERROR: syntax error at or near "'AIT1581050529'" at character 13 2020-02-07 15:42:55 AEDT STATEMENT: DEALLOCATE 'AIT1581050529' The deallocate statement fails. It doesn't matter if it is just "DEALLOCATE" or "DEALLOCATE PREPARE". We put in the count statement to make sure the prepared statement still existed and only issued the "DEALLOCATE" if ps_count is greater then zero. Does anybody know why it is giving this syntax error? TIA, Rob
On 2/6/20 9:02 PM, rob stone wrote: > Hello, > > Version:- > > > PostgreSQL 12.1 (Debian 12.1-2) on x86_64-pc-linux-gnu, compiled by gcc > (Debian 9.2.1-22) 9.2.1 20200104, 64-bit > > Log:- > > 2020-02-07 15:42:55 AEDT LOG: statement: SELECT COUNT(*) AS ps_count > FROM pg_prepared_statements WHERE name = 'AIT1581050529' > 2020-02-07 15:42:55 AEDT ERROR: syntax error at or near > "'AIT1581050529'" at character 13 > 2020-02-07 15:42:55 AEDT STATEMENT: DEALLOCATE 'AIT1581050529' > Try: DEALLOCATE AIT1581050529; > > The deallocate statement fails. It doesn't matter if it is just > "DEALLOCATE" or "DEALLOCATE PREPARE". > We put in the count statement to make sure the prepared statement still > existed and only issued the "DEALLOCATE" if ps_count is greater then > zero. > > Does anybody know why it is giving this syntax error? > > TIA, > Rob > > > > -- Adrian Klaver adrian.klaver@aklaver.com
rob stone <floriparob@gmail.com> writes: > 2020-02-07 15:42:55 AEDT ERROR: syntax error at or near > "'AIT1581050529'" at character 13 > 2020-02-07 15:42:55 AEDT STATEMENT: DEALLOCATE 'AIT1581050529' > The deallocate statement fails. It doesn't matter if it is just > "DEALLOCATE" or "DEALLOCATE PREPARE". I think you want double quotes not single quotes. The argument of DEALLOCATE is an SQL identifier, not a string literal. regards, tom lane
On Fri, 2020-02-07 at 00:48 -0500, Tom Lane wrote: > rob stone <floriparob@gmail.com> writes: > > 2020-02-07 15:42:55 AEDT ERROR: syntax error at or near > > "'AIT1581050529'" at character 13 > > 2020-02-07 15:42:55 AEDT STATEMENT: DEALLOCATE 'AIT1581050529' > > The deallocate statement fails. It doesn't matter if it is just > > "DEALLOCATE" or "DEALLOCATE PREPARE". > > I think you want double quotes not single quotes. The argument > of DEALLOCATE is an SQL identifier, not a string literal. > > regards, tom lane That worked. Thanks.