[Запись по основам Postgresql] инфраструктура и иерархия пространств имен, просматривайте объекты базы данных и никогда больше не теряйтесь

инфраструктура postgresql

Содержание столбца :

Вклад открытого :

Персональная домашняя страница : Моя домашняя страница
Сообщество менеджеров : База данных с открытым исходным кодом
Девиз: Когда небо сильное, джентльмен стремится стремиться к самосовершенствованию; когда местность хорошая, джентльмен несет в себе великие добродетели.

серия статей

Предисловие

База данных postgresql представляет собой общие реляционные данные, которые сравнимы с коммерческими данными в базах данных с открытым исходным кодом и становятся все более популярными в отрасли.

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

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

В этой колонке в основном рассказывается об использовании postgresql начального уровня, обслуживании и управлении базой данных. Благодаря этому использованию вы можете понять принципы работы базы данных и постепенно понять, что представляет собой база данных postgresql, что она может делать и как обеспечить хорошее услуги.Самое главное,чтобы эти знания все были на собеседовании.Обязательные пункты.

Обзор

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

Здесь мы представим архитектуру с двух точек зрения:

  • Один из них — работающая архитектура: когда работает postgresql, как он предоставляет услуги;
  • Второе — логическая архитектура, какова связь между объектами базы данных, созданными пользователем, и как их организовать;

Операционная архитектура

Принцип введения

Служба базы данных postgresql представляет собой режим C/S. После запуска, как упоминалось в предыдущем блоге, в фоновом режиме запускаются основной процесс и несколько подпроцессов, которые вместе предоставляют услуги;

Основной процесс обеспечивает мониторинг сети. Когда соединение поступает от клиента, основной процесс создает подпроцесс postgres, также называемый внутренним сервисным процессом, который специально предоставляет услуги для этого клиентского соединения. В это время клиент и серверная прямая связь между процессами обслуживания,
то есть основной процесс обслуживания создаст внутренний процесс обслуживания для каждого клиентского соединения;

Клиент может взаимодействовать с сервером на разных машинах через протокол tcp/ip;
конечно, клиент разнообразен и может быть текстовым инструментом, приложением с графическим интерфейсом или клиентом через веб-сервер, который обращается к базе данных для отображать веб-страницы или специальный инструмент управления базами данных;

Введение процесса

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

[senllang@hatch bin]$ ps -ef|grep postgres
senllang  149106       1  0 Sep03 ?        00:00:00 /opt/postgres/bin/postgres -D testdemo1
senllang  149107  149106  0 Sep03 ?        00:00:00 postgres: logger
senllang  149108  149106  0 Sep03 ?        00:00:00 postgres: checkpointer
senllang  149109  149106  0 Sep03 ?        00:00:00 postgres: background writer
senllang  149111  149106  0 Sep03 ?        00:00:00 postgres: walwriter
senllang  149112  149106  0 Sep03 ?        00:00:00 postgres: autovacuum launcher
senllang  149113  149106  0 Sep03 ?        00:00:00 postgres: logical replication launcher
senllang  175300  175236  0 08:38 pts/8    00:00:00 ./psql -d postgres
senllang  175301  149106  0 08:38 ?        00:00:00 postgres: senllang postgres [local] idle

По сравнению с тем, когда он был впервые запущен, существует еще два процесса: один - процесс клиента psql, а другой - подпроцесс сервера postgres. PID - 175301. Состояние ожидания будет отображаться в имени процесса, и это также будет отображаться здесь при выполнении SQL.
Если подключено несколько клиентов, будет несколько процессов внутренней службы postgres;

логическая архитектура

Прежде чем использовать базу данных, нам необходимо понять организационные отношения между объектами базы данных в базе данных;

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

В начале можно ли создать таблицу, нельзя, это в порядке вещей;

Между ними существуют две логические связи:

  • Отношения с пространством хранения
  • отношения пространства имен

Отношения с пространством хранения

Каковы отношения с пространством хранения? Простое понимание заключается в том, что иерархические отношения каталогов таковы: больший каталог является родительским каталогом, а меньший - подкаталогом. Первый идет первым, а затем последний может иметь место хранения; это с точки зрения дискового хранилища.Отношения между объектами базы данных.

Их отношение последовательности или отношение ограничения размера

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

Уровень табличного пространства в основном предназначен для облегчения расширения места хранения;
поскольку каталог не может охватывать дисковое пространство, когда дискового пространства, соответствующего каталогу кластера, недостаточно, либо заменяется диск большего размера, и данные копируются, так что старый диск будет потрачен впустую, а дисковое пространство не всегда может быть бесконечным, поэтому, если вы хотите расширить пространство, вы можете создать другое табличное пространство и указать место хранения табличного пространства в новом дисковом пространстве;

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

отношения пространства имен

Пространство имен чем-то похоже на отношения каталогов, но оно логично и не существует физически как каталог. Цель логического пространства имен состоит в том, чтобы облегчить управление и организацию этих объектов базы данных, чтобы их можно было легко искать внутри. Пользователи. Что касается управления группами, можно также осуществлять усовершенствованный контроль разрешений.

В основном оно разделено на следующие уровни пространства имен:

  • табличное пространство Это самый большой уровень, который аналогичен уровню хранения.Пользователям не нужно заботиться о табличном пространстве, поскольку при доступе к существующим объектам базы данных определяется его табличное пространство; если его необходимо создать, его необходимо быть указано, и, конечно, должно быть соответствующее табличное пространство.Объекты могут быть созданы только с разрешением на использование;
  • База данных находится на втором уровне, который также является уровнем пространства, который необходимо указать при входе в систему. После входа пользователя в систему указывать его нет необходимости;
  • Схема находится на третьем уровне. В базе данных может быть несколько схем. Имя схемы по умолчанию является общедоступным. При доступе к объектам базы данных на нее ссылаются в форме имя схемы.объект базы данных;

Для иллюстрации приведем пример: сначала создайте каталог для создания нового табличного пространства.

[senllang@hatch bin]$ mkdir tablespace_test1

Создайте новое табличное пространство tblspc_test1 и укажите путь его хранения во вновь созданном каталоге.

postgres=# create tablespace tblspc_test1 location '/opt/postgres/bin/tablespace_test1';
CREATE TABLESPACE

Создайте новую схему test1

postgres=# create schema test1;
CREATE SCHEMA

Установите текущий путь поиска. По умолчанию – общедоступный. Теперь установите для него значения public и test1, чтобы можно было видеть содержимое обеих схем.

postgres=# set search_path TO 'public' ,'test1';
SET
postgres=# \d
           List of relations
 Schema |   Name    | Type  |  Owner
--------+-----------+-------+----------
 public | tbl_user  | table | senllang
 test1  | tbl_test1 | table | senllang
(2 rows)

Вы можете видеть, что схема, к которой принадлежит tbl_user, является общедоступной, а схема, которой принадлежит test1, — это test1;

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

Подведем итог

Контакт с любой транзакцией начинается с понимания ее с первого взгляда.То же самое касается и понимания базы данных postgresql.Мы можем увидеть ее группу процессов после запуска службы и понять ее ассоциацию с процессами;

Пространственное отношение организации хранения данных в базе данных помогает нам понять ее внутренний механизм работы.Когда мы используем SQL для выполнения операций с данными, мы будем использовать отношение пространства имен.

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

конец

Большое спасибо за вашу поддержку. Не забывайте оставлять свои ценные комментарии во время просмотра. Если вы считаете, что это достойно поощрения, пожалуйста, поставьте лайк и сохраните его. Я буду работать усерднее!

Электронная почта автора: [email protected].
Если есть какие-либо ошибки или упущения, пожалуйста, укажите на них и поучитесь друг у друга.

Примечание: копирование без разрешения запрещено!

Acho que você gosta

Origin blog.csdn.net/senllang/article/details/132683775
Recomendado
Clasificación