Попытка соединения Pandas с PostgreSQL без предоставления учетных данных пользователя - PullRequest
0 голосов
/ 10 апреля 2020

Я новичок в программировании, и это первый пост о помощи. Может ли кто-нибудь, пожалуйста, помогите мне с использованием переменных среды вместо исходного имени пользователя и пароля при подключении Pandas с помощью SQL Алхимия с PostgreSQL, в Windows.

Я попытался с помощью переменных среды Системные настройки, но Я получаю следующую ошибку: Операционная ошибка: FATAL: аутентификация по паролю не удалась для пользователя

Какой-то код для вашей справки:

>>>from sqlalchemy import create_engine
>>>import psycopg2
>>>engine = create_engine('postgresql://user:pass@localhost:5432/sample_db')

Я пытаюсь скрыть учетные данные БД вместо того, чтобы их раскрыть.

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

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

От кого вы пытаетесь их скрыть?

Если вы введете пароль в файл ~ / .pgpass (пишется %APPDATA%\postgresql\pgpass.conf на Windows), он будет работать с SQLalchemy так же, как это будет для широкого круга других клиентов. Просто удалите пароль из URL, и он будет автоматически найден в этом файле и использован.

Конечно, любой, кто может видеть .pgpass, может это увидеть.

0 голосов
/ 10 апреля 2020

Вот один из способов сделать это:

file .secret:

user:pass@locahost:5432

и main.py:

from sqlalchemy import create_engine

with open('.secret') as f:
    SECRET = f.read().strip()

ENGINE = create_engine(f'postgresql://{SECRET}/sample_db')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...