Установка PostgreSQL в Ubuntu 20.04

PostgreSQL — это СУБД ( система управления реляционными базами данных), которая используется для хранения и извлечения данных с помощью стандартного языка запросов SQL. Он также известен как Postgres, который поставляется бесплатно с открытым исходным кодом. PostgreSQL поддерживает JSON, XML, например другие программы управления базами данных этого не делают.

Рекомендую к прочтению:

Как установить и настроить MySQL на Ubuntu 20.04 LTS

В этом руководстве вы узнаете, как установить PostgreSQL в Ubuntu 20.04.

Что требуется для установки PostgreSQL?

Перед установкой Postgres в Ubuntu вам необходимо выполнить некоторые основные требования.

  1. Установленная Ubuntu 20.04
  2. Привилегии Sudo для установки пакетов.
  3. Подключение к интернету.

Установка 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

Запуск и включение службы postgres
Запуск и включение службы postgres

После установки вы можете проверить состояние PostgreSQL, выполнив следующую команду.

$ sudo systemctl status postgresql.service

Статус службы Postgres
Статус службы Postgres

По умолчанию пользователь Postgres создается во время установки. Чтобы получить доступ к оболочке Postgres, сначала переключитесь на пользователя Postgres.

$ sudo su — postgres

Теперь введите команду psql,

$ psql

Выполнение команд в оболочке Postgres
Выполнение команд в оболочке Postgres

Для проверки версии 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=’*’

Включение удаленного подключения в postgres
Включение удаленного подключения в postgres

Сохраните свою конфигурацию и перезапустите сервер PostgreSQL, чтобы изменения отразились в БД.

$ sudo systemctl restart postgresql.service

Теперь можно проверить прослушивает ли  PostgreSQL другой интерфейс. Для этого выполните следующую команду.

$ ss -ltn

Состояние прослушивания порта Postgres
Состояние прослушивания порта Postgres

Если вы включили брандмауэр UFW на сервере, тогда вам необходимо открыть порт 5432 для входящих TCP — соединений.  Чтоб сделать это выполните команду.

$ sudo ufw allow 5432/tcp

Также проверьте правило брандмауэра UFW, делается это командой.

$ sudo ufw status verbose

Конфигурация Postgres ufw
Конфигурация Postgres ufw

Заключение

В этом руководстве вы узнали, как установить сервер PostgreSQL на Ubuntu 20.04. Кроме того, вы также узнали, как привязать PostgreSQL к различным сетевым интерфейсам, чтобы принимать соединения от удаленного клиента.

Nazario

Я — Nazario, ведущий автор на guid.su, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку раздичных систем. Мои глубокие знания и обширный практический опыт в этих сферах позволяют мне создавать детальные руководства и учебные материалы, ценные для пользователей всех уровней.

Я стремлюсь делать сложные темы доступными и понятными, надеюсь что мой вклад в сообщество IT будет оценен по достоинству.

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

Guid: Linux и Windows
Добавить комментарий