Не удалось подключиться к базе данных PostgreSQL от моего пользователя Linux - PullRequest
0 голосов
/ 17 апреля 2019

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

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

Спасибо.

Ответы [ 3 ]

1 голос
/ 19 апреля 2019

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

alias psql='sudo -u postgres psql'

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

0 голосов
/ 19 апреля 2019

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

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

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

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

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

psql

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

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


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

0 голосов
/ 19 апреля 2019

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

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

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

CREATE ROLE username SUPERUSER;
ALTER ROLE username WITH LOGIN;
CREATE DATABASE username;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...