You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am having trouble getting piicatcher to connect to Postgres. I am running Postgres in a Kubernetes cluster, and I am doing port forwarding from localhost to the cluster. Postgres is working fine, as shown below.
(base) maaz@maaz-thinkpad:~/data/piicatcher$ psql --host 127.0.0.1 -U testuser -d postgres -p 5432Password for user testuser: psql (15.3 (Ubuntu 15.3-1.pgdg22.04+1))Type "help" for help.postgres=# \q
To run piicatcher, I pull the image from DockerHub and then run the following commands.
(base) maaz@maaz-thinkpad:~/data/piicatcher$ alias piicatcher='docker run -v ${HOME}/.config/tokern:/config -u $(id -u ${USER}):$(id -g ${USER}) -it --add-host=host.docker.internal:host-gateway tokern/piicatcher:latest'(base) maaz@maaz-thinkpad:~/data/piicatcher$ piicatcher catalog add-postgresql --name testdb --database postgres --username testuser --password password --uri host.docker.internal --port 5432Traceback (most recent call last): File "/usr/local/lib/python3.10/pathlib.py", line 1175, in mkdir self._accessor.mkdir(self, mode)FileNotFoundError: [Errno 2] No such file or directory: '/.config/goog-stats'During handling of the above exception, another exception occurred:Traceback (most recent call last): File "/opt/pysetup/.venv/bin/piicatcher", line 5, in <module> from piicatcher.command_line import app File "/opt/pysetup/.venv/lib/python3.10/site-packages/piicatcher/command_line.py", line 38, in <module> analytics = Stats(__google_analytics_tid__) File "/opt/pysetup/.venv/lib/python3.10/site-packages/goog_stats/__init__.py", line 21, in __init__ self.create_working_dir() File "/opt/pysetup/.venv/lib/python3.10/site-packages/goog_stats/__init__.py", line 35, in create_working_dir self.working_dir.mkdir(parents=True, exist_ok=True) File "/usr/local/lib/python3.10/pathlib.py", line 1179, in mkdir self.parent.mkdir(parents=True, exist_ok=True) File "/usr/local/lib/python3.10/pathlib.py", line 1175, in mkdir self._accessor.mkdir(self, mode)PermissionError: [Errno 13] Permission denied: '/.config'
I can fix this by removing -u $(id -u ${USER}):$(id -g ${USER}), but this leads to the following error.
(base) maaz@maaz-thinkpad:~/data/piicatcher$ alias piicatcher='docker run -v ${HOME}/.config/tokern:/config -it --add-host=host.docker.internal:host-gateway tokern/piicatcher:latest'(base) maaz@maaz-thinkpad:~/data/piicatcher$ piicatcher catalog add-postgresql --name test --database postgres --username testuser --password password --uri host.docker.internal --port 5432Registered Postgres database test(base) maaz@maaz-thinkpad:~/data/piicatcher$ piicatcher detect --source-name testTraceback (most recent call last): File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect return fn() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 304, in unique_connection return _ConnectionFairy._checkout(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 778, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 495, in checkout rec = pool._do_get() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 139, in _do_get with util.safe_reraise(): File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 137, in _do_get return self._create_connection() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 309, in _create_connection return _ConnectionRecord(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 440, in __init__ self.__connect(first_connect_check=True) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 660, in __connect with util.safe_reraise(): File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 656, in __connect connection = pool._invoke_creator(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect return dialect.connect(*cargs, **cparams) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 508, in connect return self.dbapi.connect(*cargs, **cparams) File "/opt/pysetup/.venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)psycopg2.OperationalError: could not connect to server: Connection refused Is the server running on host "host.docker.internal" (172.17.0.1) and accepting TCP/IP connections on port 5432?The above exception was the direct cause of the following exception:Traceback (most recent call last): File "/opt/pysetup/.venv/bin/piicatcher", line 8, in <module> sys.exit(app()) File "/opt/pysetup/.venv/lib/python3.10/site-packages/typer/main.py", line 214, in __call__ return get_command(self)(*args, **kwargs) File "/opt/pysetup/.venv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/opt/pysetup/.venv/lib/python3.10/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/opt/pysetup/.venv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/pysetup/.venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/pysetup/.venv/lib/python3.10/site-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) File "/opt/pysetup/.venv/lib/python3.10/site-packages/typer/main.py", line 532, in wrapper return callback(**use_params) # type: ignore File "/opt/pysetup/.venv/lib/python3.10/site-packages/piicatcher/command_line.py", line 222, in detect op = scan_database( File "/opt/pysetup/.venv/lib/python3.10/site-packages/piicatcher/api.py", line 65, in scan_database scan_sources( File "/opt/pysetup/.venv/lib/python3.10/site-packages/dbcat/api.py", line 140, in scan_sources scanner.scan() File "/opt/pysetup/.venv/lib/python3.10/site-packages/dbcat/catalog/db.py", line 131, in scan extractor.init(Scoped.get_scoped_conf(self._conf, extractor.get_scope())) File "/opt/pysetup/.venv/lib/python3.10/site-packages/databuilder/extractor/base_postgres_metadata_extractor.py", line 68, in init self._alchemy_extractor.init(sql_alch_conf) File "/opt/pysetup/.venv/lib/python3.10/site-packages/databuilder/extractor/sql_alchemy_extractor.py", line 31, in init self.connection = self._get_connection() File "/opt/pysetup/.venv/lib/python3.10/site-packages/databuilder/extractor/sql_alchemy_extractor.py", line 57, in _get_connection conn = engine.connect() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2263, in connect return self._connection_cls(self, **kwargs) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 104, in __init__ else engine.raw_connection() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2369, in raw_connection return self._wrap_pool_connect( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2339, in _wrap_pool_connect Connection._handle_dbapi_exception_noconnection( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1583, in _handle_dbapi_exception_noconnection util.raise_( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2336, in _wrap_pool_connect return fn() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 304, in unique_connection return _ConnectionFairy._checkout(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 778, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 495, in checkout rec = pool._do_get() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 139, in _do_get with util.safe_reraise(): File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 137, in _do_get return self._create_connection() File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 309, in _create_connection return _ConnectionRecord(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 440, in __init__ self.__connect(first_connect_check=True) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 660, in __connect with util.safe_reraise(): File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__ compat.raise_( File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 656, in __connect connection = pool._invoke_creator(self) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect return dialect.connect(*cargs, **cparams) File "/opt/pysetup/.venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 508, in connect return self.dbapi.connect(*cargs, **cparams) File "/opt/pysetup/.venv/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect conn = _connect(dsn, connection_factory=connection_factory, **kwasync)sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not connect to server: Connection refused Is the server running on host "host.docker.internal" (172.17.0.1) and accepting TCP/IP connections on port 5432?(Background on this error at: http://sqlalche.me/e/13/e3q8)
I have tried both localhost and host.docker.internal in the URI argument, but I get the same error each time. Piicatcher installed through python in a venv works, for some reason.
The text was updated successfully, but these errors were encountered:
I am having trouble getting piicatcher to connect to Postgres. I am running Postgres in a Kubernetes cluster, and I am doing port forwarding from localhost to the cluster. Postgres is working fine, as shown below.
To run piicatcher, I pull the image from DockerHub and then run the following commands.
I can fix this by removing
-u $(id -u ${USER}):$(id -g ${USER})
, but this leads to the following error.I have tried both
localhost
andhost.docker.internal
in the URI argument, but I get the same error each time. Piicatcher installed through python in a venv works, for some reason.The text was updated successfully, but these errors were encountered: