Do Pythonu jej neimportujete program. Bod .pgpass
je, že se jedná o běžný soubor podléhající systémovým oprávněním k souborům a libpq ovladač, jehož knihovny jako psychopg2 použijte pro připojení k Postgres bude hledat heslo v tomto souboru místo toho, aby vyžadoval, aby bylo heslo ve zdrojovém kódu, nebo aby se ho dotázalo.
Také se nejedná o soubor na straně serveru, ale o soubor na straně klienta. Takže na *nix boxu byste měli ~/.pgpass
soubor obsahující přihlašovací údaje pro různá připojení, která chcete vytvořit.
Upravit v reakci na komentář od OP:
Aby mohl psychopg2 projít, musí se stát dvě hlavní věci pro správné ověření přes .pgpass
:
- nedělejte to zadejte heslo v řetězci předaném
psycopg2.connect
- Ujistěte se, že je do souboru
.pgpass
přidán správný záznam soubor pro uživatele, který se bude připojovat přes psychopg2 .
Například, aby to fungovalo pro všechny databáze pro konkrétního uživatele na localhost port 5432 , přidáte následující řádek do .pgpass
daného uživatele soubor:
localhost:5432:*:<username>:<password>
A pak connect
hovor by měl tento tvar:
conn = psycopg2.connect("host=localhost dbname=<dbname> user=<username>")
Základní libpq ovladač, který psychopg2 použití pak použije .pgpass
soubor pro získání hesla.