Задать вопрос
@Soul1

Как посмотреть пароль PostgreSQL?

Начал изучать работу с PostgreSQL через Python, нашёл такой код:
spoiler
import psycopg2
from psycopg2 import OperationalError
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT


def create_connection(db_name, db_user, db_password, db_host, db_port):
    connection = None
    try:
        connection = psycopg2.connect(
            database=db_name,
            user=db_user,
            password=db_password,
            host=db_host,
            port=db_port,
        )
        print("Connection to PostgreSQL DB successful")
    except OperationalError as e:
        print(f"The error '{e}' occurred")


connection = create_connection("postgres", "postgres", "postgres", "127.0.0.1", "5432")

При запуске выдаёт ошибку:
The error 'FATAL: password authentication failed for user "postgres"
' occurred
Нагуглил, что при установке Postgres выдаётся пароль, но я Postgres не устанавливал, он уже на компе был, может с виндой установился, не знаю. Как этот пароль посмотреть или новый создать? Операционка Windows 10.

И ещё ошибка с from psycopg2 import OperationalError, он просто не находит OperationalError.
  • Вопрос задан
  • 40043 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
@galaxy

И ещё ошибка с from psycopg2 import OperationalError, он просто не находит OperationalError

находит:
>>> from psycopg2 import OperationalError
>>> OperationalError
<class 'psycopg2.OperationalError'>
>>> psycopg2.__version__
'2.8.6 (dt dec pq3 ext lo64)'

версия psycopg2 какая?

The error 'FATAL: password authentication failed for user "postgres"

Проверяйте свой pg_hba.conf. Там нужна запись для 127.0.0.1 или localhost

UPD:
Как этот пароль посмотреть или новый создать?

Инсталлятор может задавать какой-то пароль по умолчанию, а может и вообще не задавать (тогда юзер postgres не сможет входить по паролю). Вам нужно либо настроить в pg_hba.conf вход без пароля (метод trust), либо зайти через консоль/pgadmin и задать пароль:
ALTER ROLE postgres WITH PASSWORD '123'; или в psql \password

Зайти через консоль/pgadmin без пароля получится только, если в pg_hba.conf это настроено (обычно инсталлятор это делает, если нет - меняйте файл вручную и не забудьте рестартнуть постгрес).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Надо создать нового пользователя и базу данных, назначит пользователя владельцем этой базы и прописать в pg_hba.conf разрешение для этого пользователя подключаться к базе на 127.0.0.1. Не надо цепляться с такими реквизитами.
Ответ написан
Комментировать
@anikavoi
Посмотреть - никак.
Поменять - galaxy ответил.
Останавливаете постгрис, редактируете pg_hba.conf (ессесно сохранив исходный)
local all postgres trust
host all postgres 0.0.0.0/0 trust
host all all 127.0.0.0/8 trust

запускаете постгрис,
дальше спокойно на него заходите хоть psql хоть чем, и меняете пароль
ALTER ROLE postgres WITH PASSWORD '123'; или в psql \password
Ответ написан
Комментировать
@Drno
Что значит - Постгресс был?? Как он мог установиться сам???
Вы вообще знаете как ПК и система работает? Если нет - начать надо с изучения этого...
Спросите пароль у того кто поставил постгресс
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы