linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Главы
  • How it worksскоро
  • Уроки
  • База знаний
  • Собеседование
home/postgres/lessons/pg-lab-03-1-cluster-tour

lesson ── postgres-labs ── ~20 мин ── 5 шагов

Пройди иерархию: кластер, базы, схемы

Пройди хранение сверху вниз: кластер, его базы, схемы, табличные пространства. Перед каждым запросом предскажи результат - сколько баз в кластере, в какой схеме лежит flights.

▶ интерактивный sandbox

Поднимется контейнер postgreslab/postgres-base с PostgreSQL 17 и psql. В браузере откроется терминал, база lab уже настроена. Каждый шаг проверяется автоматически. Сеть air-gapped, наружу контейнер не ходит.

запустить sandbox →

stack ── PostgreSQL 17 · psql · 1 GB RAM · air-gapped · самоуничтожается через 45 мин простоя

Шаги

  1. 01

    Каталог данных кластера

    Весь кластер - это один каталог на диске. Узнай его путь.

    sql
    SHOW data_directory;

    ✓ Это PGDATA - корень всего хранения кластера.

  2. 02

    Сколько баз в кластере

    Предскажи число баз (три системные плюс учебная), потом проверь.

    sql
    SELECT oid, datname FROM pg_database ORDER BY oid;
    SELECT count(*) FROM pg_database;
    подсказка

    template1, template0, postgres - системные; lab - наша.

    ✓ Четыре базы: три системные и lab.

  3. 03

    Текущая схема

    Внутри базы объекты разложены по схемам. Узнай, в какой ты сейчас.

    sql
    SELECT current_schema();
    SHOW search_path;

    ✓ По умолчанию объекты создаются в схеме public.

  4. 04

    Табличные пространства

    Предскажи, сколько табличных пространств на свежем кластере, и проверь.

    sql
    SELECT spcname FROM pg_tablespace;
    подсказка

    Два есть всегда: pg_default и pg_global.

    ✓ pg_default и pg_global - два пространства по умолчанию.

  5. 05

    Путь до файла таблицы

    Сложи иерархию в путь: база и файл таблицы. Убедись, что первое число пути - это OID базы lab.

    sql
    SELECT pg_relation_filepath('flights');
    SELECT oid FROM pg_database WHERE datname = 'lab';

    ✓ Путь base/<oid lab>/<relfilenode> сошёлся.

Что ты узнал

Кластер - один каталог PGDATA с несколькими базами. Внутри базы объекты разложены по схемам (по умолчанию public). Данные можно вынести в табличное пространство. Путь к таблице - base/<oid базы>/<relfilenode>.

команды

  • SHOW data_directory;каталог данных кластера
  • SELECT oid, datname FROM pg_database;базы кластера и их OID
  • SELECT spcname FROM pg_tablespace;табличные пространства
  • SELECT pg_relation_filepath('flights');путь к файлу таблицы

концепции

  • · кластер - один PGDATA и набор процессов на несколько баз
  • · схема - пространство имён внутри базы; search_path задаёт поиск
  • · путь к таблице - base/<oid базы>/<relfilenode>

← предыдущая

Составь карту процессов работающего сервера

следующая →

Найди файл таблицы и понаблюдай форки

Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки