aiven-db-migrate icon indicating copy to clipboard operation
aiven-db-migrate copied to clipboard

Tool does not use passwords in .pgpass file

Open nickgsc opened this issue 4 years ago • 2 comments

Standard operating procedure for postgres commandline tools that leverage libpq (such as psql, pg_dump, etc) is that they will look for a password in the .pgpass file in the home directory of the running user. This allows for interacting with databases without having to supply a password in the clear on the commandline. https://www.postgresql.org/docs/12/libpq-pgpass.html

I attempted to run the tool without supplying the password expecting it would leverage .pgpass, but that did not work:

2020-10-29 16:09:39,632	PGMigrate	ERROR	fe_sendauth: no password supplied

Traceback (most recent call last):
  File "/Users/nickwilson/git/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 947, in validate
    if self.source.version > self.target.version:
  File "/Users/nickwilson/git/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 161, in version
    self._version = LooseVersion(self.params["server_version"])
  File "/Users/nickwilson/git/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 154, in params
    params = self.c("SHOW ALL")
  File "/Users/nickwilson/git/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 139, in c
    with self._cursor(dbname=dbname) as cur:
  File "/usr/local/Cellar/[email protected]/3.8.6_1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/Users/nickwilson/git/aiven-db-migrate/aiven_db_migrate/migrate/pgmigrate.py", line 121, in _cursor
    conn = psycopg2.connect(**conn_info)
  File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
  File "/usr/local/lib/python3.8/site-packages/psycopg2/extras.py", line 778, in wait_select
    state = conn.poll()
psycopg2.OperationalError: fe_sendauth: no password supplied

nickgsc avatar Oct 29 '20 22:10 nickgsc