TGViewer
SQL Portal | Базы Данных SQL Portal | Базы Данных @sqlportal · 13.7K subscribers
Post #1732 1.52K
Совет по продуктивной работе с Postgres: шаблонные базы данных

Многие разработчики используют шаблонные базы данных для настройки дев-окружений. Суть подхода в следующем: вы запускаете один экземпляр Postgres для разработки и при необходимости создаёте/удаляете базы данных. При этом база данных для разработки создаётся на основе шаблона, который синхронизирован со схемой продакшена.

Для распределённых команд, использующих облачные решения, шаблонная база — это экономичный и безопасный способ работы.

Преимущества использования шаблонной базы данных для разработки:

● Упрощает работу с расширениями, конфигурацией Postgres, управлением версиями и установкой зависимостей — всё, что обычно замедляет локальную разработку
● Обеспечивает соответствие схемы продакшену, так как шаблон можно быстро создать из полной копии базы без данных
● Сокращает время на развёртывание и удаление дев-машин
● Позволяет использовать анонимизированные тестовые данные, подходящие для разработки

Подробнее о шаблонных базах данных


➡️ Создайте шаблон на основе продакшена, выгрузив только схему и расширения:

pg_dump -U my_user -h my_host -p 5432 -d my_database --exclude-table-data --no-owner --no-privileges > template.sql


Флаг --exclude-table-data исключает данные, но сохраняет полную схему и все расширения.

➡️ Создайте базу и восстановите в неё шаблон:

-- создаём базу
CREATE DATABASE my_template_db OWNER postgres;


-- восстанавливаем из дампа
psql -U my_user -h my_host -p 5432 -d my_template_db -f template.sql


Добавьте сид-данные на этом этапе. Это позволит быстро клонировать шаблон без необходимости повторного восстановления.

➡️ Разрешите использовать базу как шаблон:

ALTER DATABASE my_template_db IS_TEMPLATE TRUE;


Важно: использовать шаблонные базы можно только от имени суперпользователя Postgres. На платформе Crunchy Bridge это поддерживается, но не все облачные провайдеры предоставляют доступ к суперюзеру.

➡️ Создайте новую базу на основе шаблона:

CREATE DATABASE new_db WITH TEMPLATE my_template_db OWNER my_user;


Это создаст копию my_template_db под именем new_db

➡️ Обновите строку подключения, чтобы использовать новую базу в разработке — и можно начинать писать код.

👉 @SQLPortal
More from @sqlportal
  1. Oct 12, 2026Pandas: Python для повседневных задач аналитика 🐼 Загрузить файлы с неаккуратными данными…
  2. Oct 11, 2026Чтобы запросы оставались быстрыми, понятными и справлялись с ростом объёма данных, нужны х…
  3. Oct 11, 2026SQL: порядок написания ≠ порядок обработки Запрос начинается с SELECT, но логически обраба…
  4. Oct 10, 2026Какие навыки нужны дата-инженеру? В вакансиях прослеживается закономерность: на первом мес…
  5. Oct 10, 2026Бэкап есть? А если найду? 😳 👉 @SQLPortal
  6. Oct 9, 2026Горизонтальные или вертикальные столбцы: что выбрать? Оба варианта помогают сравнивать кат…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →