Как установить PostgreSQL 11 на Ubuntu 18.04 / Ubuntu 16.04

Как установить PostgreSQL 11 на Ubuntu 18.04 / Ubuntu 16.04

 

Это краткое руководство поможет вам установить PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04. PostgreSQL Server — это надежный открытый и расширяемый сервер баз данных. PostgreSQL предоставляет объектно-реляционную систему баз данных, позволяющую вам управлять обширными наборами данных SQL.

Основные улучшения PostgreSQL 11:

  • Улучшения в функциональности разбиения
  • Хранимые процедуры SQL, поддерживающие встроенные транзакции
  • Улучшения параллелизма
  • Оконные функции теперь поддерживают все параметры кадрирования, показанные в стандарте SQL: 2011
  • Дополнительная компиляция Just-in-Time (JIT) для некоторого кода SQL, ускоряющая оценку выражений
  • Повышение производительности, включая возможность избежать перезаписи таблицы для ALTER TABLE… ADD COLUMN с ненулевым столбцом по умолчанию
  • Теперь можно создавать закрывающие индексы, используя предложение INCLUDE в CREATE INDEX.

Для CentOS / Fedora, обратитесь к:

Как установить PostgreSQL 11 на Fedora 29 / Fedora 28

Установка PostgreSQL 11 на CentOS 7

Как установить PostgreSQL 11 на CentOS 8 / RHEL 8

На странице Release  представлены все новые функции, доступные в PostgreSQL 11. Выполните шаги, описанные в следующих разделах, чтобы установить PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04.

Шаг 1: Обновите систему и установите зависимости

Рекомендуется обновить ваши текущие системные пакеты, если это новый экземпляр сервера.

sudo apt update && sudo apt -y upgrade
sudo reboot

После перезагрузки системы установите  vim и, wget если она еще не установлена.

sudo apt install -y wget vim

Шаг 2: Добавьте PostgreSQL 11 APT-репозиторий

Перед добавлением содержимого репозитория в систему Ubuntu 18.04 / Ubuntu 16.04 необходимо импортировать ключ подписи репозитория:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

После импорта ключа GPG добавьте содержимое репозитория в вашу систему Ubuntu 18.04 / 16.04:

RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee  /etc/apt/sources.list.d/pgdg.list

После импорта ключа GPG добавьте содержимое репозитория в вашу систему Ubuntu 18.04 / 16.04:

$ cat /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Шаг 3: Установите PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04

Последний этап установки предназначен для пакетов PostgreSQL 11. Выполните следующие команды для установки PostgreSQL 11 в Ubuntu 18.04 / Ubuntu 16.04.

sudo apt update
sudo apt -y install postgresql-11

Шаг 4: Разрешить доступ к PostgreSQL с удаленных хостов

По умолчанию доступ к серверу баз данных PostgreSQL осуществляется только с локального хоста.

$ sudo ss -tunelp | grep 5432
tcp   LISTEN  0  128  127.0.0.1:5432         0.0.0.0:*      users:(("postgres",pid=15785,fd=3)) uid:111 ino:42331 sk:6 <->

Чтобы разрешить доступ к сети, отредактируйте файл конфигурации:

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

Добавьте строку ниже в разделе ПОДКЛЮЧЕНИЕ И АУТЕНТИФИКАЦИ

listen_addresses = '*'

Вы также можете указать IP-адрес сервера

listen_addresses = '192.168.17.12'

Не забудьте перезапустить postgresqlсервис после внесения изменений

sudo systemctl restart postgresql

Подтвердите адрес привязки для PostgreSQL:

$ sudo ss -tunelp | grep 5432
tcp   LISTEN  0       128    0.0.0.0:5432         0.0.0.0:*      users:(("postgres",pid=16066,fd=3)) uid:111 ino:42972 sk:8 <->                  tcp   LISTEN  0       128    [::]:5432            [::]:*      users:(("postgres",pid=16066,fd=6)) uid:111 ino:42973 sk:9 v6only:1 <->

Если у вас есть активный брандмауэр UFW, разрешите порт 5432

sudo ufw allow 5432/tcp

Шаг 5: Установите пароль администратора PostgreSQL и проведите тестирование

Установите пароль для администратора по умолчанию

$ sudo su - postgres
[email protected]:~$ psql -c "alter user postgres with password 'StrongPassword'"
ALTER ROLE

Вы также можете добавить других пользователей базы данных:

createuser dbuser1

Добавить тестовую базу данных:

[email protected]:~$ createdb testdb -O dbuser1

Выполните тестовую операцию, войдя в систему как dbuser1  и работая на testdb

~$ psql -l  | grep testdb
 testdb    | dbuser1  | LATIN1   | en_US   | en_US |

Установить пароль пользователя:

$ psql
psql (11.2 (Ubuntu 11.2-1.pgdg18.04+1))
Type "help" for help.
postgres=# alter user dbuser1 with password 'DBPassword';
ALTER ROLE

Создайте таблицу и добавьте несколько фиктивных данных:

testdb=# create table test_table ( id int,first_name text, last_name text );
CREATE TABLE
testdb=# insert into test_table (id,first_name,last_name) values (1,'John','Doe');
INSERT 0 1

Показать данные таблицы

testdb=#  select * from test_table;
 id | first_name | last_name 
----+------------+-----------
  1 | John       | Doe
(1 row)

Оставьте наш тестовый стол

testdb=# DROP TABLE test_table;
DROP TABLE
testdb=# \q

Drop test database

[email protected]:~$ dropdb testdb;