Установка и запуск PostgreSQL на Ubuntu

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: PostgreSQL, Ubuntu.

Данная инструкция написана на примере систем Linux Ubuntu, а также PostgreSQL 12 (из коробки) или любой другой версии (настройка репозитория).

Установка

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

Версия репозитория

В зависимости от версии операционной системы, из коробки будет установлена своя версия СУБД. Посмотреть ее можно командой:

apt search --names-only '^postgresql$'

Если для нас версия не принципиальна или нам подходит та, что в репозитории, вводим команду:

apt install postgresql postgresql-contrib

Разные версии PostgreSQL

Для установки более свежей версии PostgreSQL на Ubuntu, необходимо подключить репозиторий:

echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list

Импортируем GPG ключ репозитория:

apt install gnupg2

curl -fsS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg2 --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

После чего обновляем список пакетов:

apt update

Устанавливаем postgres:

apt install postgresql-15

* в данном примере будет установлен postgresql версии 15.

Готово. Мы уже можем использовать СУБД.

Тестовое подключение

Заходим в систему под учетной записью postgres:

su - postgres

Подключаемся к СУБД:

psql

Делаем тестовый запрос на получение списка таблиц:

=# \dt *

Мы должны увидеть что-то на подобие:

                    List of relations
   Schema   |          Name           | Type  |  Owner   
------------+-------------------------+-------+----------
 pg_catalog | pg_aggregate            | table | postgres
 pg_catalog | pg_am                   | table | postgres
 pg_catalog | pg_amop                 | table | postgres
 pg_catalog | pg_amproc               | table | postgres
 pg_catalog | pg_attrdef              | table | postgres

Выходим из оболочки psql:

=# \q

Отключаемся от системы пользователем postgres:

exit

Полезные команды

Рассмотрим некоторые команды, которые могут пригодиться на начальном этапе работы с базой. Подразумевается, что данные команды выполняются из оболочки SQL.

1. Создание пользователя:

=# CREATE USER dmosk WITH PASSWORD 'myPassword';

* будет создан пользователь dmosk с паролем myPassword.

2. Создание базы данных:

=# CREATE DATABASE database1 WITH OWNER dmosk ENCODING 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8';

* будет создана база database1, владельцем которой является созданный ранее пользователь dmosk.

Возможные ошибки

Рассмотрим некоторые ошибки, с которыми можно столкнуться во время установки или эксплуатации СУБД. По мере возможности, данный список будет пополняться.

1. ERROR:  invalid locale name: "ru_RU.UTF-8"

Ошибка может возникнуть при попытке создать базу данных с указанием определенной кодировки (в нашем примере ru_RU.UTF-8).

Причина: в операционной системе не установлена локаль, указанная в опции LC_COLLATE и/или LC_CTYPE при создании базы.

Решение: необходимо сгенерировать локаль командой:

locale-gen ru_RU.UTF-8

* где ru_RU.UTF-8 — нужная нам локаль.

После перезапускаем службу СУБД:

systemctl restart postgresql

* обратите внимание, что команда для перезагрузки postgresql в вашем случае может быть другой.

Читайте также

Другие инструкции по работе с СУБД PostgreSQL:

1. Как работать с пользователями в PostgreSQL.

2. Как настроить удаленное подключение к PostgreSQL.

3. Резервное копирование PostgreSQL.

# Ubuntu # Базы данных # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет