Установка и запуск 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.