Postgres and Debian
Оглавление:
- Предпосылки
- Установка PostgreSQL
- PostgreSQL Роли и методы аутентификации
- Создание роли и базы данных PostgreSQL
- Включить удаленный доступ к серверу PostgreSQL
- Вывод
PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом. PostgreSQL имеет множество расширенных функций, таких как резервное копирование в онлайн-хранилище, восстановление на определенный момент времени, вложенные транзакции, запросы SQL и JSON, многоуровневое управление параллелизмом (MVCC), асинхронная репликация и многое другое.
В этом руководстве мы покажем вам, как установить PostgreSQL на Debian 9, и рассмотрим основы базового администрирования баз данных.
Предпосылки
Прежде чем приступить к этой обучающей программе, убедитесь, что пользователь вы вошли в систему как имеет привилегии SUDO.
Установка PostgreSQL
На момент написания этой статьи последней версией PostgreSQL, доступной в репозиториях Debian, была PostgreSQL версии 9.6.
Для установки PostgreSQL на сервере Debian выполните следующие действия:
-
Начните с обновления локального индекса пакетов:
sudo apt updateУстановите сервер PostgreSQL и пакет поддержки PostgreSQL, который предоставляет дополнительные функции для базы данных PostgreSQL:
sudo apt install postgresql postgresql-contribПосле завершения установки служба PostgreSQL запустится автоматически. Для проверки установки мы подключимся к серверу базы данных PostgreSQL с помощью утилиты
psqlи распечатаем версию сервера:sudo -u postgres psql -c "SELECT version();"Вывод будет выглядеть так:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
PostgreSQL Роли и методы аутентификации
PostgreSQL управляет правами доступа к базе данных с использованием концепции ролей. Роль может представлять пользователя базы данных или группу пользователей базы данных.
PostgreSQL поддерживает несколько методов аутентификации. Наиболее часто используемые методы являются:
- Доверие - С помощью этого метода, роль может подключиться без пароля, если критерии, определенные в
pg_hba.confявляются met.Password - Роль может подключиться путем предоставления пароля. Пароли могут быть сохранены в видеscram-sha-256md5иpassword(открытый текст) Ident - Этот метод поддерживается только на соединениях 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
могут создавать новые роли.
В следующем примере мы создадим новую роль с именем
john
базу данных с именем
johndb
и предоставим привилегии для базы данных.
-
Создание новой PostgreSQL роли
Следующая команда создаст новую роль с именем джон:
sudo su - postgres -c "createuser john"Создание новой базы данных PostgreSQL
Создайте новую базу данных с именем johndb с помощью команды
createdb:sudo su - postgres -c "createdb johndb"предоставлять льготы
Чтобы предоставить разрешения пользователю
johnв базе данных, которую мы создали на предыдущем шаге, подключитесь к оболочке PostgreSQL:sudo -u postgres psqlи выполните следующий запрос:
grant all privileges on database johndb to john;
Включить удаленный доступ к серверу PostgreSQL
По умолчанию PostgreSQL, сервер прослушивает только на локальном интерфейсе
127.0.0.1
. Чтобы включить удаленный доступ к вашему серверу PostgreSQL, откройте файл конфигурации
postgresql.conf
и добавьте
listen_addresses = '*'
в разделе
CONNECTIONS AND AUTHENTICATION
.
sudo vim /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/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/9.6/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a 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 a 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 9. Для получения дополнительной информации по этой теме обратитесь к документации PostgreSQL.
базы данных PostgreSQL DebianКак установить postgresql на centos 7
PostgreSQL или Postgres - это система управления объектно-реляционными базами данных общего назначения с открытым исходным кодом. В этом уроке мы покажем вам два разных способа установки PostgreSQL на вашем компьютере с CentOS 7.
Как установить postgresql на centos 8
В этом руководстве мы рассмотрим, как установить сервер базы данных PostgreSQL на CentOS 8. Мы также изучить основы администрирования баз данных PostgreSQL.
Как установить PostgreSQL на Debian 10
В этом руководстве рассматриваются этапы установки сервера базы данных PostgreSQL в Debian 10. PostgreSQL, часто называемый просто Postgres, представляет собой универсальную систему управления объектно-реляционными базами данных с открытым исходным кодом.







