Я думал пропустить этот раздел, так как он небольшой и вроде как простой. Но я хочу чтобы он был обязательно в конспекте и я его запомнил 👐
Схемы базы данных
Схема — это логический фрагмент базы данных, в котором могут содержаться различные объекты: таблицы, представления, индексы и др. В базе данных обязательно есть хотя бы одна схема. При создании базы данных в ней автоматически создается схема с именем public.
В каждой базе данных может содержаться более одной схемы. Их имена должны быть уникальными в пределах конкретной базы данных. Имена объектов базы данных (таблиц, представлений, последовательностей и др.) должны быть уникальными в пределах конкретной схемы, но в разных схемах имена объектов могут повторяться. Таким образом, можно сказать, что схема образует так называемое пространство имен.
Посмотреть список схем в базе данных можно так:
\dn
Список схем
Имя | Владелец
----------+----------
bookings | postgres
public | postgres
(2 строки)
По дефолту в БД создается
public схема. После создания своей схемы к ней можно обратиться так:SELECT * FROM bookings.aircrafts;
Но что, если я создал схему для основного или частого использования? Каждый раз писать схему такое себе. Делаем так:
SET search_path = bookings;
Теперь имя схемы писать не обязательно. Можно указать сразу несколько схем для поиска таблиц при обращении к ним:
SET search_path = bookings, public;
ВАЖНО понимать, что так определяется очередность поиска таблиц по схемам - сначала таблица ищется в
bookings, потом в public.Посмотреть текущие
search_path:SHOW search_path;
search_path
-------------
bookings
(1 строка)
Посмотреть имя текущей схемы:
SELECT current_schema;
current_schema
----------------
bookings
(1 строка)
