Установка PostgreSQL в Linux может вызвать затруднения из-за необходимости переключаться между разными пользователями и средами. Для корректной установки нужно обновить списки пакетов и установить
В PostgreSQL аккаунты называются «ролями». При установке создаётся суперпользователь
Создание пользователя и базы данных выполняется внутри psql. Сначала создается пользователь
Команды SQL могут занимать несколько строк, их завершение обозначается символом
postgresql
и postgresql-contrib
. Запуск сервиса выполняется через systemctl start postgresql.service
, его статус проверяется командой systemctl status postgresql.service
. Важно помнить, что по умолчанию автозапуск сервера отключен. Изображение носит иллюстративный характер
В PostgreSQL аккаунты называются «ролями». При установке создаётся суперпользователь
postgres
. Для работы с базой данных нужно создать отдельного пользователя. Ключевой принцип – один пользователь, одна база данных. Команды в консоли выполняются от имени текущего пользователя Linux. Для переключения на пользователя postgres
используется команда sudo -i -u postgres
. Создание пользователя и базы данных выполняется внутри psql. Сначала создается пользователь
CREATE USER test WITH PASSWORD '1234';
. Затем создается база данных createdb test
. После этого пользователю даются права на базу данных GRANT ALL PRIVILEGES ON DATABASE test TO test;
. В версиях 16 и выше, нужно также сделать пользователя владельцем базы данных: ALTER DATABASE dg_name OWNER TO user_name;
. Подключение к базе данных осуществляется командой psql -U test -h 127.0.0.1 -p 5432
. Команды SQL могут занимать несколько строк, их завершение обозначается символом
;
. Статус подключения проверяется командой \conninfo
. Для подключения к базе данных от имени пользователя операционной системы можно использовать psql test
, если имя пользователя в системе и в СУБД совпадают. В целях безопасности лучше использовать psql -U имя_пользователя
. После подключения можно проверить работу запросами SELECT version();
, SELECT current_date;
, SELECT 2+2;
.