Thread: Is "IF EXISTS" legit in "ALTER TABLE ... RENAME"?
According to the PG 9.1 doc (http://www.postgresql.org/docs/current/static/sql-altertable.html), this is a valid flavor of ALTER TABLE:
ALTER TABLE [ IF EXISTS ] name RENAME TO new_name
But when I try to execute such a command, I get:
ERROR: syntax error at or near "EXISTS"
LINE 1: ALTER TABLE IF EXISTS event
^
QUERY: ALTER TABLE IF EXISTS event
RENAME TO event_s;
CONTEXT: PL/pgSQL function "convert_table_to_history" line 60 at EXECUTE statement
ERROR: syntax error at or near "EXISTS"
LINE 1: ALTER TABLE IF EXISTS event
^
QUERY: ALTER TABLE IF EXISTS event
RENAME TO event_s;
CONTEXT: PL/pgSQL function "convert_table_to_history" line 60 at EXECUTE statement
As you'll see, in this case the command was issued from a function. But issuing it directly evokes the same error.
?!?
?!?
~ Thanks in advance
~ Ken
On 02/16/2015 01:33 PM, Ken Winter wrote: > According to the PG 9.1 doc > (http://www.postgresql.org/docs/current/static/sql-altertable.html), The above is the 9.4 version of the page, note the "current" in the URL. This is the 9.1 version of the page: http://www.postgresql.org/docs/9.1/static/sql-altertable.html so: ALTER TABLE name RENAME TO new_name > this is a valid flavor of ALTER TABLE: > > ALTER TABLE [ IF EXISTS ]name > RENAME TOnew_name > > But when I try to execute such a command, I get: > > ERROR: syntax error at or near "EXISTS" > LINE 1: ALTER TABLE IF EXISTS event > ^ > QUERY: ALTER TABLE IF EXISTS event > RENAME TO event_s; > CONTEXT: PL/pgSQL function "convert_table_to_history" line 60 at > EXECUTE statement > > As you'll see, in this case the command was issued from a function. But > issuing it directly evokes the same error. > > ?!? > > ~ Thanks in advance > ~ Ken -- Adrian Klaver adrian.klaver@aklaver.com