Android

Как установить Postgresql на Ubuntu 18.04

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

Оглавление:

Anonim

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

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

Предпосылки

Прежде чем продолжить этот урок, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo.

Установите PostgreSQL в Ubuntu

На момент написания этой статьи последняя версия PostgreSQL, доступная в официальных репозиториях Ubuntu, - это PostgreSQL версии 10.4.

Для установки PostgreSQL на сервере Ubuntu выполните следующие действия:

  1. Установка PostgreSQL

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

    sudo apt update sudo apt install postgresql postgresql-contrib

    Проверка установки PostgreSQL

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

    Чтобы проверить установку, мы попытаемся подключиться к серверу базы данных PostgreSQL с помощью psql и распечатать версию сервера:

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

psql - это интерактивная утилита командной строки, которая позволяет вам взаимодействовать с сервером PostgreSQL.

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

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

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

  • Доверие - С помощью этого метода, роль может подключиться без пароля, если критерии, определенные в pg_hba.conf являются met.Password - Роль может подключиться путем предоставления пароля. Пароли могут быть сохранены в виде scram-sha-256 md5 и 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

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

sudo -u postgres psql

postgres пользователь, как правило, используется только с локального хоста и не рекомендуется установить пароль для этого пользователя.

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

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

В следующем примере мы создадим новую роль с именем john базу данных с именем johndb и предоставим привилегии для базы данных.

  1. Создание новой 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/10/main/postgresql.conf /etc/postgresql/10/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/10/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 на сервере Ubuntu 18.04.

Вы можете ознакомиться с PostgreSQL 10.4 Документация для получения дополнительной информации по этой теме.

база данных Ubuntu Postgresql