powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / alter table rename приводит к изменению зависимых view
2 сообщений из 2, страница 1 из 1
alter table rename приводит к изменению зависимых view
    #40041072
Misha111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всех приветствую.
наткнулся на интересную особенность:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create table t_t1 (a1 int);
create or replace view v_t1 as select * from t_t1;
select pg_get_viewdef('v_t1'::regclass);
 pg_get_viewdef
-----------------
  SELECT t_t1.a1+
    FROM t_t1;
alter table t_t1 rename to t_t2;
select pg_get_viewdef('v_t1'::regclass);
 pg_get_viewdef
-----------------
  SELECT t_t2.a1+
    FROM t_t2;
drop table t_t2 cascade;



в доке описания этого поведения не нашел.
я так понимаю это всеж фича - иначе пришлось бы выдавать ошибку о существовании зависимых объектов.
хотя имхо ренаме каскад было бы правильней.
...
Рейтинг: 0 / 0
alter table rename приводит к изменению зависимых view
    #40041077
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha111,

база не хранит исходного когда view а только распарсенное представление где названия таблиц на relid заменены
поэтому при переименовывании автоматически и меняется (так как relid остается тот же).

вот обратное поведение вообще нормально никак не получить у views.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / alter table rename приводит к изменению зависимых view
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]