Создание схемы в конкретной базе данных PostgreSQL 9.0

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Чтобы создать схему в PostgreSQL, необходимо изменить контекст работы с помощью команды \c your_db и затем выполнить команду создания схемы CREATE SCHEMA your_schema;.

SQL
Скопировать код
\c your_db     -- Меняем контекст на нужную базу данных
CREATE SCHEMA your_schema;  -- Создаём новую схему
Кинга Идем в IT: пошаговый план для смены профессии

Начало работы с новой базой данных

Если вы начинаете работать с новой базой данных, сначала необходимо её создать. Затем переключитесь на неё и создайте нужную схему:

SQL
Скопировать код
CREATE DATABASE foo;  -- Создаем новую базу данных
\c foo  -- Переходим в созданную базу данных
CREATE SCHEMA yourschema;  -- Создаём схему

Перед созданием схемы проверьте, нет ли такой уже существующей, чтобы избежать конфликта имен.

SQL
Скопировать код
CREATE SCHEMA IF NOT EXISTS yourschema;  -- Если схема не существует, она будет создана

Если положить все команды в скрипт с использованием \connect, он будет выглядеть аккуратно и удобно для выполнения:

SQL
Скопировать код
CREATE DATABASE foo;
\connect foo
CREATE SCHEMA yourschema;

Эти шаги будут полезны независимо от того, выполняете ли вы действия вручную или используете автоматизированные скрипты.

Повторение действий с использованием скриптов

Для автоматизации повторяющихся действий можно использовать .sql-скрипт. В нём не забудьте указать контекст базы данных с помощью команды \connect:

SQL
Скопировать код
CREATE DATABASE projectdb;  -- Создание новой базы данных
\connect projectdb  -- Переключение на неё
CREATE SCHEMA project_schema AUTHORIZATION db_user;  -- Создание схемы с указанием выбранного пользователя в качестве владельца

Для запуска скрипта используйте командную строку:

sh
Скопировать код
psql -f setup_script.sql  -- Запуск скрипта

Визуализация

Схема организации данных в PostgreSQL похожа на библиотеку с различными залами (базами данных), каждый из которых посвящён отдельной теме:

Markdown
Скопировать код
Библиотека (🏛️): [Зал 1 (db_1), Зал 2 (db_2), Зал 3 (db_3)]

Вы решили создать новый раздел (схему) в Зале 2 (db_2):

SQL
Скопировать код
-- Переходим в Зал 2
\c db_2

-- Создаем в нем новый раздел
CREATE SCHEMA new_section;

Теперь посетители Зала 2 обнаружат следующие изменения:

Markdown
Скопировать код
Зал 2 (db_2): До – [📚, 🗞️]
Зал 2 (db_2): После – [📚, 🗞️, 🔖 (new_section)]

Ваш вклад в организацию базы данных неоценим!

Управление схемами

В процессе работы база данных может разрастаться, и появится потребность в изменении существующей схемы или создании новых. Вот несколько команд для работы со схемами:

  1. Для просмотра текущих схем отправьте запрос к information_schema.schemata:

    SQL
    Скопировать код
    SELECT schema_name FROM information_schema.schemata;  -- Получаем список всех схем
  2. Если необходимо переименовать существующую схему, используйте ALTER SCHEMA:

    SQL
    Скопировать код
    ALTER SCHEMA old_schema RENAME TO new_schema;  -- Переименовываем схему
  3. Когда решите, что схема вам уже не нужна, вы можете её удалить:

    SQL
    Скопировать код
    DROP SCHEMA if_exists_schema CASCADE;  -- Удаляем схему

    Опция CASCADE удаляет все входящие объекты, поэтому будьте аккуратны с этой командой!

Создание схемы с ориентацией на роли

Привлечение пользователей к управлению схемами помогает осуществлять контроль доступа. При создании схемы вы можете указать владельца и назначить права:

  • Чтобы создать схему и назначить права доступа:

    SQL
    Скопировать код
    CREATE SCHEMA user_schema;
    GRANT ALL ON SCHEMA user_schema TO some_user;  -- Назначаем права доступа пользователю
  • Или создайте схему сразу с указанием пользователя владельца:

    SQL
    Скопировать код
    CREATE SCHEMA user_schema AUTHORIZATION some_user;  -- Создаем схему и указываем владельца

Устанавливая правила, вы обеспечиваете порядок и безопасность в вашей базе данных.

Полезные материалы

  1. PostgreSQL: Documentation: 16: CREATE SCHEMAОфициальная документация PostgreSQL по команде CREATE SCHEMA.
  2. PostgreSQL: Documentation: 16: psql — Информация об использовании psql для подключения к PostgreSQL.
  3. Postgres setup | dbt Developer Hub — Подробное руководство по настройке схем в PostgreSQL с использованием dbt (data build tool).
  4. Schema Dialog — pgAdmin 4 8.3 documentation — Руководство по управлению схемами в PostgreSQL с помощью pgAdmin, распространённого инструмента среди администраторов баз данных.