PostgreSQL — это СУБД ( система управления реляционными базами данных), которая используется для хранения и извлечения данных с помощью стандартного языка запросов SQL. Он также известен как Postgres, который поставляется бесплатно с открытым исходным кодом. PostgreSQL поддерживает JSON, XML, например другие программы управления базами данных этого не делают.
Рекомендую к прочтению:
Как установить и настроить MySQL на Ubuntu 20.04 LTS
В этом руководстве вы узнаете, как установить PostgreSQL в Ubuntu 20.04.
Что требуется для установки PostgreSQL?
Перед установкой Postgres в Ubuntu вам необходимо выполнить некоторые основные требования.
- Установленная Ubuntu 20.04
- Привилегии Sudo для установки пакетов.
- Подключение к интернету.
Установка PostgreSQL в Ubuntu
PostgreSQL доступен в репозиториях Ubuntu по умолчанию. Просто используйте команду apt для установки PostgreSQL. Наиболее распространенными установленными пакетами являются PostgreSQL server, client, pgadmin, а также библиотеки.
Для установки конкретной версии вы можете использовать PostgreSQL Apt repository.
Чтобы установка PostgreSQL Ubuntu прошла гладко, выполните следующие действия.
Во-первых, убедитесь, что ваша система находится в актуальном состоянии, выполнив следующую команду.
$ sudo apt update
Установите пакет Postgres, а затем пакет — contrib, он добавит дополнительные утилиты и функциональные возможности.
$ sudo apt install postgresql postgresql-contrib
После завершения установки PostgreSQL запустите службу PostgreSQL. Это можно сделать командой которая написана ниже.
$ sudo systemctl start postgresql.service
Также включите автоматический запуск службы PostgreSQL при загрузке системы. Делается это командой.
$ sudo systemctl enable postgresql.service
После установки вы можете проверить состояние PostgreSQL, выполнив следующую команду.
$ sudo systemctl status postgresql.service
По умолчанию пользователь Postgres создается во время установки. Чтобы получить доступ к оболочке Postgres, сначала переключитесь на пользователя Postgres.
$ sudo su — postgres
Теперь введите команду psql,
$ psql
Для проверки версии PostgreSQL выполните следующую команду:
psql —version
или
psql -V
Создание роли в PostgreSQL
Для авторизации и аутентификации Postgres использует понятие “роли”. Которое в некоторых отношениях похоже на учетные записи Unix. Во время установки Postgres настраивается таким образом, чтобы использовать аутентификацию ident. Идентификация Ident связывает роль Postgres с соответствующими системными учетными записями Linux / Unix. Только суперпользователи и юзеры с ролью «CREATEROLE” отвечают за создание новых ролей.
Чтобы создать новую роль например с именем john, введите следующую команду в оболочке PostgreSQL.
postgres=# createuser john
Создание базы данных в PostgreSQL
Для создания новой базы данных требуется программа PostgreSQL database shell (psql). Войдите в оболочку psql и введите следующую команду, чтобы создать пользователя и установить пароль. Здесь я собираюсь создать имя пользователя jacky с паролем mystrongpassword. Вы можете создать свой собственный.
postgres=# CREATE USER jacky WITH PASSWORD ‘mystrongpassword’;
Создайте базу данных (например, gallary), используя следующую команду,
postgres=# CREATE DATABASE gallery;
Предоставьте доступ к БД которую только что создали.. Здесь я собираюсь предоставить все права на базу данных gallery, чтобы пользователь jacky мог в ней работать.
postgres=# GRANT ALL PRIVILEGES ON DATABASE gallery to jacky;
Чтобы выйти из оболочки PostgreSQL требуется ввести команду q и нажать enter.
postgres=# q
Включение удаленного доступа к PostgreSQL
По умолчанию PostgreSQL слушает на интерфейсе 127.0.0.1. Если вы хотите получить доступ к базе данных из другого места. Тогда вам требуется настроить PostgreSQL для прослушки различных сетевых интерфейсов. Чтобы настроить PostgreSQL для различных интерфейсов, откройте конфигурационный файл PostgreSQL с помощью nano или другим текстовым редактором. Я буду использовать редактор Vim.
$ sudo vi /etc/postgresql/12/main/postgresql.conf
В конфигурационном файле найдите запись listen_addresses, находится она в «Connection Settings». Раскомментируйте строку и измените localhost на ‘*’. Это даст команду PostgreSQL прослушивать все сетевые интерфейсы для входящих подключений.
listen_addresses=’*’
Сохраните свою конфигурацию и перезапустите сервер PostgreSQL, чтобы изменения отразились в БД.
$ sudo systemctl restart postgresql.service
Теперь можно проверить прослушивает ли PostgreSQL другой интерфейс. Для этого выполните следующую команду.
$ ss -ltn
Если вы включили брандмауэр UFW на сервере, тогда вам необходимо открыть порт 5432 для входящих TCP — соединений. Чтоб сделать это выполните команду.
$ sudo ufw allow 5432/tcp
Также проверьте правило брандмауэра UFW, делается это командой.
$ sudo ufw status verbose
Заключение
В этом руководстве вы узнали, как установить сервер PostgreSQL на Ubuntu 20.04. Кроме того, вы также узнали, как привязать PostgreSQL к различным сетевым интерфейсам, чтобы принимать соединения от удаленного клиента.