powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как переместить все объекты из одной схемы в другую?
10 сообщений из 10, страница 1 из 1
Как переместить все объекты из одной схемы в другую?
    #39607961
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть база, все объекты в схеме public, поскольку это не лучшая практика, хочу мувнуть все объекты из неё в свою схему.
Как это можно сделать?
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39607973
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинЕсть база, все объекты в схеме public, поскольку это не лучшая практика, хочу мувнуть все объекты из неё в свою схему.
Как это можно сделать?
а чем она не лучшая?
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608035
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

наверное:
нопейсать скрипт.
или задампить, а раздампить уже не в ту схему.
переименовать саму паблику. (и ввязатся в историю со сносом грантов)
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608060
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefmanРолг ХупинЕсть база, все объекты в схеме public, поскольку это не лучшая практика, хочу мувнуть все объекты из неё в свою схему.
Как это можно сделать?
а чем она не лучшая?

Читал, что не рекомендуют свои объекты создавать в публике, мол, там гнездятся всякие не мои расширения, дополнения и т.д.
Извечная тяга к прекрасному ;-)
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608078
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqРолг Хупин,

наверное:
нопейсать скрипт.
или задампить, а раздампить уже не в ту схему.
переименовать саму паблику. (и ввязатся в историю со сносом грантов)

Хорошо, предположим, ввязался.... как выбрать только юзерские вью ?

Код: sql
1.
SELECT * FROM pg_views where schemaname='public'



Но в списке попадаются и не мои, например
pg_stat_statements
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608165
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Ну почитайте доки по системному каталогу, покопайте в сторону “исключить объекты созданные расширениями”.
Тут готовых решений не будет скорее всего.
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608261
gav21
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Можно использовать скрипт такого типа:

DO $$DECLARE r record;
BEGIN
FOR r IN SELECT schemaname,tablename FROM pg_tables WHERE schemaname IN ('oldschema')
LOOP
EXECUTE 'alter table ' || r.schemaname ||'.'|| r.tablename ||' set schema newschema;';
RAISE INFO '%','alter table ' || r.schemaname ||'.'|| r.tablename ||' set schema newschema;';
END LOOP;
END$$;

аналогичные скрипты напишите для переноса сиквенсов (искать их в information_schema.sequences), вью (искать их в information_schema.views)
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608273
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gav21Ролг Хупин,

Можно использовать скрипт такого типа:

DO $$DECLARE r record;
BEGIN
FOR r IN SELECT schemaname,tablename FROM pg_tables WHERE schemaname IN ('oldschema')
LOOP
EXECUTE 'alter table ' || r.schemaname ||'.'|| r.tablename ||' set schema newschema;';
RAISE INFO '%','alter table ' || r.schemaname ||'.'|| r.tablename ||' set schema newschema;';
END LOOP;
END$$;

аналогичные скрипты напишите для переноса сиквенсов (искать их в information_schema.sequences), вью (искать их в information_schema.views)
и сиквенсы и таблички и вьюхи все лежат в пг_класс-е. лазать по левому поделию "инфо--схема" имеет смысл на предмет рассмотрения структуры ее вьюх. и только.

самое интересное в переносе текстов процедур, особо -- с динамо внутре. (и правке текстов проц других схем). и в отделении объектов дополнений от пользовательских.
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608501
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинХорошо, предположим, ввязался.... как выбрать только юзерские вью ?
Ты всерьёз не помнишь какие таблицы создавал в БД? С этим, наверное, к невропатологу сначала стоит сходить...
...
Рейтинг: 0 / 0
Как переместить все объекты из одной схемы в другую?
    #39608525
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovРолг ХупинХорошо, предположим, ввязался.... как выбрать только юзерские вью ?
Ты всерьёз не помнишь какие таблицы создавал в БД? С этим, наверное, к невропатологу сначала стоит сходить...

я не буду отвечать, ладно?
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как переместить все объекты из одной схемы в другую?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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