Обсуждение: deallocate statement failing

Поиск
Список
Период
Сортировка

deallocate statement failing

От
rob stone
Дата:
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





Re: deallocate statement failing

От
Adrian Klaver
Дата:
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



Re: deallocate statement failing

От
Tom Lane
Дата:
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



Re: deallocate statement failing

От
rob stone
Дата:

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.