连接Apache超集与PostgreSQL

ac1kyiln  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(3)|浏览(134)

假设 我 在 Docker 上 运行 Apache Superset , 并 希望 它 连接 到 我 的 本地 PostgreSQL 服务 器 。 我 使用 了 下面 的 URI , 但 得到 了 一 个 错误 :
x1月 1 日
错误 为 :

ERROR: {"error": "Connection failed!\n\nThe error message returned was:\n(psycopg2.OperationalError) could not connect to server: Connection refused\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Cannot assign requested address\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\n\n(Background on this error at: http://sqlalche.me/e/e3q8)", "stacktrace": "Traceback (most recent call last):\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/base.py\", line 2265, in _wrap_pool_connect\n    return fn()\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 303, in unique_connection\n    return _ConnectionFairy._checkout(self)\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 760, in _checkout\n    fairy = _ConnectionRecord.checkout(pool)\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 492, in checkout\n    rec = pool._do_get()\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/impl.py\", line 238, in _do_get\n    return self._create_connection()\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 308, in _create_connection\n    return _ConnectionRecord(self)\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 437, in __init__\n    self.__connect(first_connect_check=True)\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/pool/base.py\", line 639, in __connect\n    connection = pool._invoke_creator(self)\n  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/strategies.py\", line 114, in ...

中 的 每 一 个
我 该 怎么 解决 呢 ?

0s0u357o

0s0u357o1#

不要使用localhost或127.0.0.1,而是打开您的pgAdmin。服务器在左侧

  • 单击下拉菜单。
  • 右键单击现在打开的集群(“Databases”(数据库)之上的级别)并打开属性。
  • 导航到打开的连接选项卡,主机名/地址将取代“localhost”

还要确保连接字符串的最后一部分指向数据库,该数据库位于pgAdmin中“Databases”的下一级。

klh5stk1

klh5stk12#

我在连接超集到本地数据库(postgresql)时遇到了同样的问题,在网上咨询了很多网站后这个技巧解决了它,而不是本地主机,试着把这个放在SQLAlchemy URI中:
//用户名:密码@主机。docker。内部:5432/数据库

1l5u6lss

1l5u6lss3#

我知道将Docker与主机数据库连接是一个不好的做法,所以我改变了我的看法,使用了Docker中的postgres映像,并将我的数据推送到postgres服务器。如果我错了,请通知我,这会很有帮助。

相关问题