СОЗДАТЬ ТАБЛИЦУ в схеме Postgres

Sozdat Tablicu V Sheme Postgres



PostgreSQL — одна из самых популярных систем объектно-реляционных баз данных. Это бесплатное программное обеспечение с открытым исходным кодом, которое расширяет язык SQL дополнительными функциями для обработки сложных рабочих нагрузок данных. Он может работать с различными типами данных, надежен и безопасен. Узнайте больше о возможностях PostgreSQL.

В этом руководстве мы узнаем больше о создании таблиц в схеме в PostgreSQL.







Схемы в PostgreSQL

База данных PostgreSQL может содержать одну или несколько именованных схем, каждая из которых содержит таблицы.



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



  • схема_а
    • Таблица 1
    • Таблица 2
  • схема_b
    • Таблица 1
    • Таблица 2

Вы можете думать о схемах как о каталогах на уровне операционной системы. Разница в том, что не может быть вложенных схем. Узнайте больше о схеме на Документация по PostgreSQL .





Причин для реализации схем может быть несколько:

  • Несколько пользователей, использующих одну и ту же базу данных, не конфликтуют друг с другом.
  • Лучшая организация и управление базами данных в логические группы.
  • Сторонние приложения могут создавать свои уникальные схемы, не конфликтуя с существующими схемами или другими объектами.

Таблицы в PostgreSQL

Любая реляционная база данных состоит из нескольких связанных таблиц, каждая из которых состоит из строк и столбцов. PostgreSQL поставляется с несколькими встроенными таблицами, содержащими различную системную информацию. Однако мы также можем создавать новые таблицы в пользовательских базах данных и схемах.



Предпосылки:

Для выполнения шагов, показанных в этом руководстве, вам потребуются следующие компоненты:

  • Правильно настроенная система Linux. Узнать больше о установка Ubuntu в VirtualBox .
  • Правильная установка PostgreSQL. Проверить установка PostgreSQL на Ubuntu .
  • Доступ к Пользователь PostgreSQL с ИСПОЛЬЗОВАНИЕ разрешение в базу данных.

Для целей этого руководства мы будем использовать постгрес для выполнения всех действий в PostgreSQL.

Создание таблиц в схеме

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

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

Получите доступ к оболочке PostgreSQL как постгрес :

$ sudo -i -u postgres psql

Создать новую базу данных демо_дб:

$ СОЗДАТЬ БАЗУ ДАННЫХ demo_db;

Убедитесь, что база данных создана успешно:

$ \л

Наконец, подключитесь к только что созданной базе данных:

$ \подключить demo_db;

Публичная схема

Любая новая база данных в PostgreSQL поставляется со схемой по умолчанию — общественный . Если вы попытаетесь создать объект без указания имени схемы, по умолчанию будет выбрана общедоступная схема.

Следующая команда выводит всю доступную схему в базе данных PostgreSQL:

$\дн

В качестве альтернативы мы также можем использовать следующий SQL-запрос:

$ SELECT * FROM pg_catalog.pg_namespace;

Создание новой схемы

Чтобы создать новую схему в конкретной базе данных, структура команды выглядит следующим образом:

$ СОЗДАТЬ СХЕМУ <имя_схемы>;

Следуя правилу, создадим новую схему demo_schema:

$ СОЗДАТЬ СХЕМУ demo_schema;

Проверьте список схем для проверки:

$\дн

Создание таблицы в схеме

Теперь, когда у нас создана целевая схема, мы можем заполнить ее таблицами.

Синтаксис создания таблицы следующий:

CREATE TABLE <схема>. (

...
)

Здесь:

  • схема : В этом поле указывается имя схемы, в которой создается таблица. Если значение не указано, таблица создается в общественный схема.

Для демонстрации создадим простую таблицу:

СОЗДАТЬ ТАБЛИЦУ demo_schema.demo_table (

ИМЯ СИМВОЛ(64),

ID INT НЕ NULL

);

Здесь:

  • Поле ИМЯ указывается для хранения строки из 64 символов.
  • Поле Я БЫ содержит целые значения. Термин ' НЕНУЛЕВОЙ ' указывает на то, что Я БЫ не может быть пустым или нулевым.

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

$ SELECT * FROM demo_schema.demo_table;

Вставка данных в таблицу

Теперь, когда таблица на месте, мы можем вставить некоторые значения:

ВСТАВЬТЕ В demo_schema.demo_table (ИМЯ, ID)

ЦЕННОСТИ

('PQR', 45),

(«ИЖК», 99)

;

Проверьте содержимое таблицы:

$ SELECT * FROM demo_schema.demo_table;

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

Разрешения схемы

С помощью разрешения схемы мы можем управлять тем, какая роль может выполнять какое действие в конкретной схеме. Из всех возможных привилегий схемы поддерживают только СОЗДАВАЙТЕ и ИСПОЛЬЗУЙТЕ.

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

$ GRANT <разрешение> ON SCHEMA <имя_схемы> TO <роль>;

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

$ REVOKE ON SCHEMA TO ;

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

$ \дн+

Изменить свойства схемы

С помощью ИЗМЕНИТЬ СХЕМУ заявление, мы можем изменить различные свойства схемы. Например: право собственности, имя схемы и т. д.

Чтобы изменить имя схемы, используйте следующий запрос:

$ ALTER SCHEMA <имя_схемы> ПЕРЕИМЕНОВАТЬ В <имя_новой_схемы>;

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

$ ALTER SCHEMA <имя_схемы> ВЛАДЕЛЕЦ <роли>;

Обратите внимание, что для смены владельца текущий пользователь должен иметь СОЗДАЙТЕ разрешение на схему.

Удаление схемы

Если схема больше не нужна, мы можем удалить ее с помощью УРОНИТЬ запрос:

$ УДАЛИТЬ СХЕМУ <имя_схемы>

Если схема содержит какой-либо объект, нам потребуется КАСКАД модификатор:

$ DROP SCHEMA <имя_схемы> CASCADE;

Управление таблицами

Разрешения для таблиц

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

Чтобы проверить права доступа к таблице, используйте следующую команду в psql:

$ \dp <имя_таблицы>

Изменить свойства таблицы

С помощью ИЗМЕНИТЬ ТАБЛИЦУ заявление, мы можем изменить многочисленные аспекты уже существующей таблицы.

Например, чтобы удалить столбец, запрос выглядит так:

$ ALTER TABLE
DROP COLUMN ;

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

$ ALTER TABLE
ADD COLUMN ;

Мы также можем установить сжатие для определенного столбца:

$ ALTER COLUMN SET COMPRESSION ;

Удаление таблицы

Чтобы удалить таблицу из схемы, мы можем использовать УДАЛИТЬ ТАБЛИЦУ запрос:

$ DROP TABLE <имя_таблицы>;

Обратите внимание, что в отличие от схем, УДАЛИТЬ ТАБЛИЦУ запрос не выдаст ошибку независимо от того, пуста таблица или нет.

Вывод

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

Для лучшей целостности данных вы можете настроить логическая репликация PostgreSQL . Чтобы поддерживать работоспособность базы данных PostgreSQL, вы можете настроить автовакуум для очистки мертвых кортежей, оставленных удаленными записями.

Дополнительные руководства по PostgreSQL см. Подкатегория PostgreSQL .