Is "IF EXISTS" legit in "ALTER TABLE ... RENAME"?

Started by Ken Winterabout 11 years ago2 messagesgeneral
Jump to latest
#1Ken Winter
ken@sunward.org

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

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

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Ken Winter (#1)
Re: Is "IF EXISTS" legit in "ALTER TABLE ... RENAME"?

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

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general