powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как клонировать схему ?
7 сообщений из 7, страница 1 из 1
Как клонировать схему ?
    #34978577
вцспс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется база со схемой внутри, допустим, "mycoolschema". В схеме этой таблицы с данными, вьюхи и т.д. А я хочу взять и сделать mycoolschema1 с содержимым, полностью повторяющим схему mycoolschema. Вопрос - как это сделать быстро и просто - как, например, в MSSQL, где делаешь
бэкап базы 1, а при ресторе просто указываешь ещё не существующую базу 2 ?
А здесь как ? Неужели COPY TO, COPY FROM ?
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34978643
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вцспсИмеется база со схемой внутри, допустим, "mycoolschema". В схеме этой таблицы с данными, вьюхи и т.д. А я хочу взять и сделать mycoolschema1 с содержимым, полностью повторяющим схему mycoolschema. Вопрос - как это сделать быстро и просто - как, например, в MSSQL, где делаешь
бэкап базы 1, а при ресторе просто указываешь ещё не существующую базу 2 ?
А здесь как ? Неужели COPY TO, COPY FROM ?

не совсем удачный пример про MSSQL, вы восстанавливаете ту же базу с другим именем.

При создании базы можно указать какая база будет взята как template. Укажите существующую.
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34978719
вцспс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне и нужно восстановить ту же схему, но с другим именем - клонировать её.
Про create database ... WITH TEMPLATE я знаю. Внутри той же базы создать в один удар копию существующей схемы с другим именем - вот что я хотел бы.
Спасибо.
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34979065
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вцспсВнутри той же базы создать в один удар копию существующей схемы с другим именем - вот что я хотел бы.
Спасибо.Ну, а ежели в триггерах/хранимках/вьюхах прописано название схемы ? как они будут себя чувствовать после подобного копирования ? может ли база догадаться что в тригере update_prices нужно менять название схемы, а вот в update_logs - не нужно ? :)

по-моему то что тебе нужно решается только руками, можно и в один удар, но имхо надёжней и безопасней - в три :)
pg_dump -n mycoolschema , в редакторе заменяем название где нужно, psql заливаем обратно.

в одну строчку - это видимо как-то так:
mkfifo dumdum; (pg_dump -n mycoolschema | sed 's/\(mycoolschema\)/\11/g' > dumdum &); psql -f dumdum; rm dumdum;
...и главное что бы в данных не встретилась подстрока с названием схемы... ;)
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34984220
вцспс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, спасибо за ответы.
Сделал по-тупому - написал скрипт, создающий по заданному имени схему, таблицы, вьюхи и т.п. внутри неё и заселяющий её данными из текущей схемы. Теперь вот с ужасом думаю о том, что если структура таблиц поменяется - придётся лезть и править скрипт руками каждый раз.
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34984227
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вцспсГоспода, спасибо за ответы.
Сделал по-тупому - написал скрипт, создающий по заданному имени схему, таблицы, вьюхи и т.п. внутри неё и заселяющий её данными из текущей схемы. Теперь вот с ужасом думаю о том, что если структура таблиц поменяется - придётся лезть и править скрипт руками каждый раз.
А в сторону EMS DBComparer не смотрели?
...
Рейтинг: 0 / 0
Как клонировать схему ?
    #34985129
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вцспсГоспода, спасибо за ответы.
Сделал по-тупому - написал скрипт, создающий по заданному имени схему, таблицы, вьюхи и т.п. внутри неё и заселяющий её данными из текущей схемы. Теперь вот с ужасом думаю о том, что если структура таблиц поменяется - придётся лезть и править скрипт руками каждый раз.
Вообще, есть схема Pg_Catalog. Там есть все, что нужно по любой схеме. Сам писал простенькую сравнивалку таблиц в двух схемах и добивалку одной таблицы до другой. Сложнее всего с разбором аттрибутов, констрейнтов и индексов. Все проделывалось без отрыва пользователей от производства.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как клонировать схему ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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