Как установить 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;