Ответ 1
Один из способов сделать это:
ALTER TABLE domain.new RENAME TO old
Другой способ:
SET search_path TO domain;
ALTER TABLE new RENAME TO old;
Документация для search_path
.
Я использую 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;
с ошибкой:
ОШИБКА: синтаксическая ошибка в точке или рядом "."
"." подчеркнуто одно между "доменом" и "старым"
Один из способов сделать это:
ALTER TABLE domain.new RENAME TO old
Другой способ:
SET search_path TO domain;
ALTER TABLE new RENAME TO old;
Документация для search_path
.
Это работает со мной:
ALTER TABLE domain.old RENAME TO new;