powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос структуры БД
14 сообщений из 14, страница 1 из 1
Перенос структуры БД
    #32249168
Фотография Allvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно сгенерировать скрипт, который создает все таблици (функций, ....) из одной БД. Ну что б потом выполнить его на другой БД и получить аналогичную структуру БД .......
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32249416
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
pg_dump -s одна_БД > schema.sql
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32249627
Vel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты переносишь на разные сервера, то убедись, что там уже созданы юзеры и группы, которые были на твоем сервере. Или создай сам.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32250319
Фотография Allvin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32309599
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Vel

переносятся ли юзеры дампом? или надо шаманить? Че-то на вскидку не вижу в букваре. (7.0 -> 7.3, ругань на неверный архив, ищу причины)
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32309608
Vel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, юзверей нужно создавать руками.

Что значит ругань на архив. Приведи эту ругань, мож понятнее будет
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32309748
Konrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pg_dumpall переносит все, в т.ч. и юзеров с группами.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32309989
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2VEL вроде проясняется: начал прогонять SQL дампа кусками (в pgAdmin). Таблички создаются. А вот с функциями облом. Ругается на разные места, в основном - касательно преобразования типов. Или отсутствие функций. Например:
Код: plaintext
1.
2.
ERROR:  Function round(double precision, integer) does not exist
	Unable to identify a function that satisfies the given argument types
	You may need to add explicit typecasts

Лечу вставкой кастов. Наверное - неоптимально. И надо бы придумать некий стандартный метод. С тем, чтобы окончательный переход (в нужный момент) можно было проделать, как и положено, подъемом дампа, разве что отрихтованного массовой заменой каких-либо предложений, или вставкой каких-то предложений в начало дампа, скажем описывающих некое преобразование типов, для того, чтобы ф-ии проскочили. Пока не решил. Если есть идеи/наработки - приму с благодарностью.

...А ругань - со слов админа - "бед архив". Первым предположение было: - изменился формат дампа (версионное разхождение).

____
2 Konrad . Возможно. Я не админ. (ни одного из 2-х). Со слов - следущее : "сделан дамполл". Я его просматриваю: - нигде "криэйт юзеров" нет. есть только "/коннект - юзер". Т.ч. тут вряд ли _создаются_ юзеры.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310083
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжаю прогонку дампа по частям:

1. предложения CREATE UNIQUE INDEX - все отработали результативно.
2. -//_ CREATE RULE (- создание видов, в моем случае) - тоже.
3. а вот с CREATE CONSTRAINT TRIGGER какая-то лажа: Запускай хоть до посинения. Запрос отрабатывает успешно. Ошибок нет. Но и ни одного триггера не вижу. (в диалекте 7.0 НЕТ "OR REPLACE", а ошибки с повторным запуском тем не менее также не возникает). В чем собака порылась?


Ага, кажется понял: в 7.0 предложения вида
ALTER TABLE ххх
ADD CONSTRAINT ххх
[FOREIGN KEY|REFERENCES]

отражаются в дампе как набор CREATE CONSTRAINT TRIGGER
а в 7.3, похоже, именно так, как написаны. Т.е. подьему дампа они (CREATE CONSTRAINT TRIGGER) мешать не должны, а просто (запущеные в SQL строке) не вызывают НИКАКИХ изменений.
Т.ч. и тут, похоже, придется руками ставить связи после залики данных. Есть ли другие возможности?
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310092
Konrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно. Я не админ. (ни одного из 2-х). Со слов - следущее : "сделан дамполл". Я его просматриваю: - нигде "криэйт юзеров" нет. есть только "/коннект - юзер". Т.ч. тут вряд ли _создаются_ юзеры.

Обманывает вас админ :) Или лукавит..
pg_dumpall extracts a PostgreSQL database cluster into an SQL script file.

В числе опций:
-g, --globals-only Only dump global objects, no databases

Ненавязчиво поинтересуйтесь у него, что такое "global objects", и что в них входит.. :)

Впрочем, и без опции -g dumpall по умолчанию выкладывает в скрипт команды CREATE USER и CREATE GROUP.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310199
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Konrad
пасиб. :0)

думается, у меня не тот случай. Просто заливка из дампола не прошла (ф-ии не пролезают - см. выше). А мне прислали уже просто дамп. (некую нн-ю по счету попытку просунуть "бед архив" в пг_ресторе.) Но он (дамп) как был "бед", так и остался.
__
я вот пока смотрю - "криэйт констрайнт триггеры" можно попарно разобрать синтаксически (на вскидку - не сложно) и програмно сгенерить "альтер таблы, едд констрайнты", но пока базка невелика, т.ч. обойдусь вручную, пожалуй. Но я собрався понатыкать еще триггерков в работающую (7.0), а вот такая лажа с ручной разборкой дампа в случае планируемого перезда на 7.3 как-то не внушает. Че то там еще повылазит?

__
еще вопрос: если поднимать дамп данных в полностью поднятую схему - то от порядка заливки может вышибать на вторичных ключах. Отключается ли при заливке дампа проверка констрайнтов хотя бы до конца заливки? (т.е. отличается ли заливка дампа пг_ресторой от простой последовательной прогонки SQL операторов). Или планировать пошагово: 1. создание таблиц - 2. заливка данных - 3. создание ограничений? (как это наблюдается в просматриваемом дампе)
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310313
Konrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если поднимать дамп данных в полностью поднятую схему - то от порядка заливки может вышибать на вторичных ключах. Отключается ли при заливке дампа проверка констрайнтов хотя бы до конца заливки? (т.е. отличается ли заливка дампа пг_ресторой от простой последовательной прогонки SQL операторов). Или планировать пошагово: 1. создание таблиц - 2. заливка данных - 3. создание ограничений? (как это наблюдается в просматриваемом дампе)

Вообще, на моей памяти такого не было..
Когда делается заливка данных в файл с помощью pg_dump, то организация дампа структурно такова, что дочерние данные не пойдут впереди родительских.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310346
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура!
(Я знал! Я знал!
...вернее - я догадывался :0).


Еще раз спасибо.
...
Рейтинг: 0 / 0
Перенос структуры БД
    #32310373
Vel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда я переезжал с 7.1 до 7.3.3 тоже были грабли с триггерами.
Но, при этом ключи все создаются. Они не видны как ключи, но работают.
И ошибок у меня не было. Только варнинги. Но все работеат и сейчас.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Перенос структуры БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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