带有 pgadmin 4 v3.0 问题的 Postgresql 10.4 - Windows 10 x64 用户的查询工具初始化错误

Postgresql 10.4 with pgadmin 4 v3.0 issue - Query Tools Initialized Error for Windows 10 x64 User

我已经 运行 pgadmin4 v2.0 没有任何问题。 当我将我的 postgresql 升级到 10.4 时会发生这种情况 我遇到了pgadmin 4 v3.0无法初始化查询工具的问题 我已经多次卸载并重新安装postgresql,但仍未解决此问题。 我也已经将 pgadmin4 降级到 v2.0,不幸的是 pgadmin4 v2.0 现在不能再初始化了。 我不知道是什么原因导致这个问题。

我通过互联网搜索了解决方案,但只找到

有没有人也遇到过 windows 10 x64 用户的这个问题? 请帮忙...

我在单击 "Query Tool" 菜单时收到相同的消息。

如果您反复尝试此操作,您最终可能会使用查询工具。有时(很少)它有效。在尝试这种方法时,您将产生可能的过程。检查仪表板以 see/kill 每次尝试启动查询工具时生成的进程。我没有找到其他方法来访问查询工具。我也无法恢复到 pgAdmin4 版本 2。浏览器开发工具控制台中没有任何信息,当我单击查询工具菜单时,我在 pgAdmin4 日志中看不到任何信息。正如另一个论坛中所述,使用 File/Reset 布局菜单可能会解决此问题。不过,我在这方面取得的成功有限。

我正在使用:pgAdmin4 version3。 Windows 10 临。 PostgreSQL 9.3、9.6 和 10。 FireFox 60.0.1、Microsoft Edge 41.16299.402.0 和 Google Chrome(最新版本)。

感谢您的建议user3613316 我已经按照您的指示进行了,确实我必须一遍又一遍地生成查询工具才能进入查询工具菜单。

有时需要执行 15 或 20 次此操作才能进入 "Query Tool" 菜单。 我正在使用键盘快捷键 Alt+Shift+Q 以便更快地进行。

正如 的回答所建议的,您需要从 Windows 位置编辑 config.py 文件。我的看起来像这样 "C:\Program Files (x86)\pgAdmin 4\v3\web" 并且你有一行:

DEFAULT_SERVER = '127.0.0.1'

应该改为

DEFAULT_SERVER = 'localhost'

别忘了从托盘中重新启动 pgAdmin。 我认为这与安装后的 postgres 数据库安装为 'localhost' 而不是“127.0.0.1”有关。

希望对您有所帮助

更新:我还发现当您使用防火墙时此解决方案不起作用。

我发现要使它正常工作,有几件事需要检查:

  1. 网络服务器日志
  2. postgresql 日志
  3. 浏览器控制台输出

如果您的 Web 服务器(除非您直接访问 pgadmin4 端口)正在使用所有正确的选项代理正确的端口。我使用 nginx,这在以下情况下工作正常:

server
  {
    server_name db.serv1;
    listen 443 ssl http2;

    ssl_certificate /etc/letsencrypt/live/myserver.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/myserver.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/myserver.com/fullchain.pem;

    location /
    {
      proxy_pass http://127.0.0.1:5050;
      proxy_http_version 1.1;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
  }

确保您的 X-Frame-Options 未设置为 "DENY"。这有时会在浏览器上设置为防止点击劫持。否则,它将阻止查询工具 window 打开的框架。您可以使用网络工具 "inspection" 进行检查,或者为浏览器打开控制台输出。

我收到的错误消息与 "X-Frame-Options set to 'DENY'" 类似,浏览器页面显示 "FAILED TO CONNECT"。

如果您在 "localhost" 与“127.0.0.1”之间存在差异,或者您的权限设置和连接选项之间存在类似类型的差异,则可能会产生冲突。确保您在 pgadmin4 中指定的服务器连接参数符合 pga_hba.conf 中的连接设置(localhost 并不总是与 127.0.0.1 相同)。它们应该是准确的,这将消除权限与连接类型之间的变量。

我发现有时指定 localhost 与 127.0.0.1,在某些情况下 localhost 通过 Unix 域套接字连接而不是 tcp 进行连接。

最新的pgAdmin 4-4.13有类似的挂起问题;尝试了所有建议,但没有用。回滚到 4-4.6,一切恢复正常。浪费了一些时间!