Thank you for reading this post, don't forget to subscribe!
PostgreSQL, также известный как Postgres, представляет собой мощную систему управления объектно-реляционными базами данных с открытым исходным кодом, которая использует и расширяет язык SQL в сочетании с многочисленными функциями, позволяющими безопасно сохранять и масштабировать самые сложные рабочие нагрузки данных.
PostgreSQL поставляется с рядом функций, предназначенных для того, чтобы помочь программистам разрабатывать приложения, администраторам — обеспечивать целостность данных и создавать отказоустойчивые среды, а также помогать вам управлять вашими данными независимо от размера или размера набора данных.
Помимо того, что PostgreSQL является бесплатным и открытым исходным кодом, он чрезвычайно расширяем.
Например, вы можете добавлять свои собственные типы данных, разрабатывать пользовательские функции, даже писать код на разных языках программирования без перекомпиляции базы данных!
Установка пакетов PostgreSQL
1. PostgreSQL включен в стандартные репозитории RHEL 8 и может быть установлен с помощью следующей команды dnf, которая установит сервер PostgreSQL 10, библиотеки и двоичные файлы клиента.
1 2 |
# dnf install @postgresql |
Примечание. Чтобы установить пакеты PostgreSQL 11 в вашей системе RHEL 8, вам необходимо установить RPM-репозиторий PostgreSQL, который содержит множество различных пакетов, таких как сервер PostgreSQL, двоичные файлы клиента и сторонние надстройки.
1 2 3 4 |
# dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # dnf update # dnf install postgresql11-server postgresql11 postgresql11-contrib |
Инициализируйте базу данных PostgreSQL
2. После установки пакетов PostgreSQL следующим шагом будет инициализация нового кластера базы данных PostgreSQL с помощью утилиты /usr/bin/postgresql-setup следующим образом.
1 2 |
# /usr/bin/postgresql-setup --initdb |
3. Теперь, когда кластер PostgreSQL инициализирован, вам необходимо запустить сервис PostgreSQL, а затем включить его автоматический запуск при загрузке системы и проверить его состояние с помощью команды systemctl.
1 2 3 |
# systemctl start postgresql # systemctl enable postgresql # systemctl status postgresql |
Защитите и настройте базу данных PostgreSQL
В этом разделе мы покажем, как защитить учетную запись пользователя Postgres и учетную запись администратора.
Затем мы расскажем, как настроить PostgreSQL, особенно как настроить аутентификацию клиента.
4. Создайте пароль для учетной записи пользователя системы postgres с помощью утилиты passwd следующим образом.
1 2 |
# passwd postgres |
5. Затем переключитесь на учетную запись пользователя системы postgres и защитите учетную запись пользователя административной базы данных PostgreSQL, создав для нее пароль (не забудьте установить надежный и безопасный пароль).
1 2 |
$ su - postgres $ psql -c "ALTER USER postgres WITH PASSWORD 'adminpasswdhere123';" |
6. Различные файлы конфигурации PostgreSQL можно найти в каталоге /var/lib/pgsql/data/.
Чтобы просмотреть структуру каталогов, вы можете использовать команду дерева (установить ее с помощью дерева установки dnf).
1 2 |
# tree -L 1 /var/lib/pgsql/data/ |
Основной файл конфигурации сервера — /var/lib/pgsql/data/postgresql.conf.
А аутентификацию клиента можно настроить с помощью /var/lib/pgsql/data/pg_hba.conf.
7. Далее, давайте посмотрим, как настроить аутентификацию клиента.
Система баз данных PostgreSQL поддерживает различные типы аутентификации, включая аутентификацию на основе пароля.
При проверке подлинности на основе пароля вы можете использовать один из следующих методов: md5, crypt или password (отправляет пароль открытым текстом).
Хотя вышеупомянутые методы аутентификации по паролю работают аналогичным образом, основное различие между ними заключается в следующем: каким образом пароль пользователя хранится (на сервере) и отправляется по соединению при вводе пользователем.
Чтобы предотвратить перехват паролей со стороны злоумышленников и избежать хранения паролей на сервере в виде простого текста, рекомендуется использовать md5, как показано далее.
Теперь откройте файл конфигурации аутентификации клиента.
1 2 |
# vi /var/lib/pgsql/data/pg_hba.conf |
Ищите следующие строки и измените метод аутентификации на md5.
1 2 |
host all all 127.0.0.1/32 md5 host all all ::1/128 md5 |
8. Теперь перезапустите службу Postgres, чтобы применить последние изменения в конфигурации.
1 2 |
# systemctl reload postgresql |
9. На этом этапе установка вашего сервера баз данных PostgreSQL теперь безопасна. Вы можете переключиться на учетную запись postgres и начать работать с PostgreSQL.
1 2 |
# su - postgres $ psql |
Вы можете прочитать официальную документацию PostgreSQL (не забудьте выбрать документы для установленной версии), чтобы понять, как работает PostgreSQL и как использовать его для разработки приложений.