1

Temat: Zmiana nazwy widoku - problem.

create schema A;

create view a as 
    select now();

alter view A.a rename to A.b;

2

Odp: Zmiana nazwy widoku - problem.

Postgres próbuje w ten sposób zmienić nazwę widoku na A.A.b i wysypuje się na znaku kropki w nazwie, zamiast tego użyj:

alter view A.a rename to b;

Podejrzewam, że dzieje się tak dlatego, że do zmiany schematu służy inna, dedykowana konstrukcja tj.

ALTER VIEW name SET SCHEMA new_schema

Gdyby nazwa docelowa mogła zawierać nazwę schematu (ang. schema-qualified), to RENAME TO mógłby realizować także funkcjonalność SET SCHEMA. Standard SQL nie precyzuje tego typu konstrukcji, stąd mieli dowolność w implementacji i zrobili to tak, a nie inaczej.

Taki samo dzieje się choćby dla instrukcji ALTER TABLE, która też ma osobne SET SCHEMA.