Android

Как установить PostgreSQL на Debian 10

Learn PostgreSQL Tutorial - Full Course for Beginners

Learn PostgreSQL Tutorial - Full Course for Beginners

Оглавление:

Anonim

PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом. Он имеет множество мощных функций, таких как резервное копирование в онлайн-хранилище, восстановление на определенный момент времени, вложенные транзакции, запросы SQL и JSON, многоуровневое управление параллелизмом (MVCC), асинхронная репликация и многое другое.

В этом руководстве рассматриваются этапы установки сервера баз данных PostgreSQL в Debian 10. Мы также рассмотрим основы базового администрирования баз данных.

Установка PostgreSQL

На момент написания этой статьи, последняя версия PostgreSQL доступных из репозиториев Debian по умолчанию является PostgreSQL версии 11.5.

Чтобы установить PostgreSQL на вашем сервере Debian, выполните следующие действия как пользователь root или пользователь с привилегиями sudo:

  1. Для начала обновления APT индекса пакетов:

    sudo apt update

    Установка сервера и вно пакет PostgreSQL, который обеспечивает дополнительные функции для базы данных PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    После завершения установки служба PostgreSQL запустится. Для проверки правильности установки, используйте psql инструмент для печати версии сервера:

    sudo -u postgres psql -c "SELECT version();"

    Вывод должен выглядеть примерно так:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

psql представляет собой интерактивный терминал программа, которая позволяет взаимодействовать с сервером PostgreSQL.

PostgreSQL Роли и методы аутентификации

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

PostgreSQL поддерживает несколько методов аутентификации. Наиболее часто используемые методы:

  • Доверие - Роль может подключиться без пароля, если критерии, определенные в pg_hba.conf являются met.Password - Роль может подключиться путем предоставления пароля. Пароли могут храниться как scram-sha-256 md5 и password (открытый текст). Идентификатор - поддерживается только для соединений TCP / IP. Он работает путем получения имени пользователя операционной системы клиента с необязательным отображением имени пользователя. Peer - То же, что и Ident, но поддерживается только на локальных соединениях.

Аутентификация клиента PostgreSQL определяется в файле конфигурации с именем pg_hba.conf . Для локальных соединений, PostgreSQL является множество использовать метод аутентификации одноранговых.

Пользователь «Postgres» автоматически создается при установке PostgreSQL. Этот пользователь является суперпользователем для экземпляра PostgreSQL, и это эквивалентно MySQL суперпользователя.

Для того, чтобы войти на сервер PostgreSQL как «Postgres», переключиться на Postgres пользователя и получение доступа к PostgreSQL с помощью быстрой psql утилиты:

sudo su - postgres psql

Отсюда вы можете взаимодействовать с сервером PostgreSQL. Для выхода из типа PostgreSQL оболочки:

\q

Вы можете использовать sudo команду для доступа к PostgreSQL строки без переключения пользователей:

sudo -u postgres psql

Пользователь postgres обычно используется только с локального хоста.

Создание роли и базы данных PostgreSQL

Команда createuser позволяет создавать новые роли из командной строки. Только суперпользователи и роли с привилегией CREATEROLE могут создавать новые роли.

В следующем примере мы создадим новую роль с именем kylo , базу данных с именем kylodb и предоставим привилегии для базы данных этой роли.

  1. Во-первых, создать роль, выполнив следующую команду:

    sudo su - postgres -c "createuser kylo"

    Далее, создайте базу данных с помощью createdb команды:

    sudo su - postgres -c "createdb kylodb"

    Предоставление разрешений для пользователя в базе данных, подключение к PostgreSQL оболочке:

    sudo -u postgres psql

    Запустите следующий запрос:

    grant all privileges on database kylodb to kylo;

Включить удаленный доступ к серверу PostgreSQL

По умолчанию, PostgreSQL, сервер прослушивает только на локальном интерфейсе 127.0.0.1 .

Откройте файл конфигурации postgresql.conf и добавить listen_addresses = '*' в CONNECTIONS AND AUTHENTICATION разделе. Это инструктирует сервер слушать на всех сетевых интерфейсах.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/main/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Сохраните файл и перезапустите службу PostgreSQL, чтобы изменения вступили в силу:

sudo service postgresql restart

Проверьте изменения с помощью утилиты ss :

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

Вывод должен показать, что сервер PostgreSQL прослушивает все интерфейсы (0.0.0.0).

Последний шаг заключается в настройке сервера на прием удаленных логинов путем редактирования pg_hba.conf файла.

Ниже приведены примеры, показывающие различные варианты использования:

/etc/postgresql/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Вывод

Мы показали вам, как установить и настроить PostgreSQL в Debian 10. Для получения дополнительной информации по этой теме обратитесь к документации PostgreSQL.

базы данных PostgreSQL Debian