Подтвердить что ты не робот

Postgresql: как переименовать таблицу внутри схемы

Я использую PostgreSQL 9.x, я хочу переименовать таблицу. Этот код SQL:

CREATE TABLE new (id int);
ALTER TABLE new RENAME TO old;
DROP TABLE old;

правильно переименовывает таблицу. Но этот код SQL:

CREATE SCHEMA domain;
CREATE TABLE domain.new (id int);
ALTER TABLE domain.new RENAME TO domain.old;

с ошибкой:

ОШИБКА: синтаксическая ошибка в точке или рядом "."

"." подчеркнуто одно между "доменом" и "старым"

4b9b3361

Ответ 1

Один из способов сделать это:

ALTER TABLE domain.new RENAME TO old

Другой способ:

SET search_path TO domain;
ALTER TABLE new RENAME TO old;

Документация для search_path.

Ответ 2

Это работает со мной:

ALTER TABLE domain.old RENAME TO new;