Не удается подключить PostgreSQL DB от моего пользователя Linux

#postgresql #ubuntu #terminal

#postgresql #ubuntu #терминал

Вопрос:

Я новичок в технологиях, пожалуйста, не судите мой вопрос слишком строго :).

Я установил в свой Ubuntu 18.04 PostgreSQL 10.7. Чтобы иметь возможность войти в мою базу данных, мне нужно ввести следующие команды с моего терминала. sudo -u postgres psql. Есть ли какой-либо сокращенный способ, которым я могу подключить его из своей учетной записи пользователя Ubuntu. Например. если я введу psql, откроется среда базы данных, в которой я могу вводить команды PostgreSQL.

Спасибо.

Комментарии:

1. psql -U postgres ?

Ответ №1:

Просто выполните эту команду в своем терминале :

 alias psql='sudo -u postgres psql'
 

Итак, в следующий раз, когда вы введете psql и выполните, вы окажетесь в среде базы данных.

Ответ №2:

Я вижу два варианта:

1) Создайте псевдоним для этой команды sudo -u postgres psql .

2) Перейдите в psql и создайте для него нового суперпользователя и базу данных:

 CREATE ROLE username SUPERUSER;
ALTER ROLE username WITH LOGIN;
CREATE DATABASE username;
 

Комментарии:

1. Для создания таблиц или управления ими роль суперпользователя не требуется. Обычный пользователь — гораздо лучший выбор.

Ответ №3:

Вы не должны использовать учетную запись суперпользователя для обычной работы с базой данных. Это как если бы вы использовали root для всего в Linux.

Вам необходимо создать обычного пользователя с привилегиями для создания или изменения таблиц в вашей базе данных. Это можно сделать, предоставив пользователю все привилегии в базе данных (что не то же самое, что сделать этого пользователя суперпользователем) или сделать этого пользователя владельцем этой базы данных.

Как описано в руководстве psql , пытается подключиться к базе данных с именем текущего пользователя Linux и с пользователем базы данных с именем текущего пользователя Linux. Итак, если вы хотите упростить задачу, создайте пользователя с именем вашего обычного пользователя Linux и базой данных, принадлежащей этому пользователю:

 create user rob password 'somepassword';
create database rob owner = rob;
 

Предполагая, что ваш пользователь Linux rob , тогда все, что вам нужно сделать, это:

 psql
 

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

В зависимости от того, как вы установили Postgres, вам может потребоваться настроить pg_hba.conf, чтобы разрешить rob прямой вход в систему.


Еще раз: пожалуйста, НЕ используйте учетную запись суперпользователя для своей обычной работы.