[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-postgresql-chto-takoe-skhemy-schemas-v-postgresql":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},930,"chto-takoe-skhemy-schemas-v-postgresql",28,"postgresql","PostgreSQL","🐘","Что такое схемы (schemas) в PostgreSQL?","Схема (schema) — это логическое пространство имён внутри базы данных, позволяющее группировать и изолировать объекты (таблицы, представления, функции, типы).\n\n### Ключевые особенности\n\n- Каждая база данных содержит как минимум схему `public`, которая используется по умолчанию\n- Разные схемы могут содержать объекты с одинаковыми именами без конфликтов\n- Схемы используются для логического разделения модулей приложения, управления доступом и мультитенантности\n\n\u003Cdetails>\u003Csummary>Примеры работы со схемами\u003C\u002Fsummary>\n\n```sql\n-- Создание схемы\nCREATE SCHEMA payments;\n\n-- Создание таблицы в схеме\nCREATE TABLE payments.orders (\n    id bigserial PRIMARY KEY,\n    amount numeric(15, 2),\n    status text DEFAULT 'NEW'\n);\n\n-- Обращение к таблице\nSELECT * FROM payments.orders;\n\n-- Установка пути поиска схем\nSET search_path TO payments, public;\n-- Теперь можно без указания схемы:\nSELECT * FROM orders;\n```\n\n\u003C\u002Fdetails>\n\nПараметр `search_path` определяет порядок, в котором PostgreSQL ищет объекты по неквалифицированному имени. По умолчанию: `\"$user\", public`.\n\n### Применение для разделения модулей\n\n```sql\nCREATE SCHEMA core;       -- основные сущности (клиенты, счета)\nCREATE SCHEMA payments;   -- платежи и переводы\nCREATE SCHEMA audit;      -- аудит и журналирование\nCREATE SCHEMA reports;    -- отчётные представления\n\n-- Можно ограничить права:\nGRANT USAGE ON SCHEMA audit TO audit_role;\nREVOKE ALL ON SCHEMA core FROM public;\n```\n\n> **На собеседовании:** схемы часто путают с отдельными базами данных. Важно пояснить, что схема — это пространство имён внутри одной БД, и между схемами можно делать JOIN, а между разными базами данных — нельзя (без расширения `dblink`\u002F`postgres_fdw`).","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":19,"featuredSnippetReady":22},"Что такое схемы (schemas) в PostgreSQL? — Gymterview","Схема (schema) — это логическое пространство имён внутри базы данных, позволяющее группировать и изолировать объекты (таблицы, представления, функции, типы).","Схема (schema) — это логическое пространство имён внутри базы данных, позволяющее группировать и изолировать объекты (та",[7,13],true]