Categories: Шпаргалки

Установка и запуск 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-contrib-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 remontka WITH PASSWORD ‘myPassword’;

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

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

=# CREATE DATABASE database1 WITH OWNER remontka ENCODING ‘UTF8’ LC_COLLATE = ‘en_US.UTF-8’ LC_CTYPE = ‘en_US.UTF-8’;

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

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

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

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 в вашем случае может быть другой.

2. New collation is incompatible

Ошибка может возникнуть при попытке создать базу данных с указанием определенной кодировки. Пример точного текста ошибки:

ERROR: new collation (en_US.UTF-8) is incompatible with the collation of the template database (C.UTF-8)
HINT: Use the same collation as in the template database, or use template0 as template.

Причина: указано в самом тексте ошибки. Кодировка шаблона отличается от той кодировки, которую мы хотим использовать.

Решение: указано в подсказке. Нужно либо использовать кодировку как у шаблона, либо использовать шаблон template0 с добавлением TEMPLATE = template0 , например:

> CREATE DATABASE new_db ENCODING ‘UTF8’ LC_COLLATE = ‘en_US.UTF-8’ LC_CTYPE = ‘en_US.UTF-8’ TEMPLATE = template0;

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

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

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

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

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

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago