PostgreSQL | Как сделать дамп структуры базы, без данных?

PostgreSQL | Как сделать дамп структуры базы, без данных?

SQL-команда для создания дампа структуры базы, без данных

pg_dump --schema-only my_super_database > /tmp/my_super_database.schema_only.dump

Что тут что?

pg_dump — это название утилиты(программы), которая делает дамп.

—schema-only — это ключ, который говорит утилите pg_dump, что нужно выгружать только определения объектов (схемы), без данных.

my_super_database — это ваше название базы данных, из которой нужно получить структуру.

> — символ указывающий направление дли получения файла дампа структуры

/tmp/my_super_database.schema_only.dump — это полный путь в системе Linux (Debian) куда будет сохранён файл. К директории «/tmp» имеют доступ все приложения. Смена директории может отклонить процедуру получения дампа из-за прав доступа.

 

Что мы хотим?

Нам нужно получить только саму структуры базы данных:

  • названия таблиц
  • названия столбцов
  • названия схем
  • ограничения таблиц
  • ограничения столбцов
  • ограничения схем
  • функции
  • и так далее

Данные нам не нужны, потому что это шаблонная база данных, которую можно разворачивать по 100 раз. Представьте, что это система управления контентом. У каждого заказчика она своя.

 

Роль «root» не существует

Если ты надумаешь сделать дамп от имени «root» пользователя. То тебя постигнет неудача.

Нужно сменить пользователя на «postgres«.

 

Команда смены пользователя root на пользователя postgres в операционной системе Linux (Debian)

su - postgres

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdminhttps://www.pgadmin.org

Официальный сайт СУБД PostgreSQLhttps://www.postgresql.org

Утилита pg_dumphttps://postgrespro.ru/docs/postgresql/15/app-pgdump