【问题标题】:Postgresql 10.4 with pgadmin 4 v3.0 issue - Query Tools Initialized Error for Windows 10 x64 User带有 pgadmin 4 v3.0 问题的 Postgresql 10.4 - Windows 10 x64 用户的查询工具初始化错误
【发布时间】:2024-04-25 10:35:01
【问题描述】:

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

我已经通过互联网搜索了解决方案,但只找到了solution for Ubuntu User

Windows 10 x64 用户是否也遇到过这个问题? 请帮忙...

【问题讨论】:

标签: initialization pgadmin-4 postgresql-10


【解决方案1】:

单击“查询工具”菜单时,我收到相同的消息。

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

我正在使用:pgAdmin4 版本 3。 视窗 10 专业版。 PostgreSQL 9.3、9.6 和 10。 FireFox 60.0.1、Microsoft Edge 41.16299.402.0 和 Google Chrome(最新版本)。

【讨论】:

  • 您确定您的浏览器没有以某种方式阻止查询工具启动吗?
  • 我已经暂停了所有的弹出窗口拦截器和广告拦截器,因此我认为它不是由浏览器引起的
【解决方案2】:

正如pgAdmin 4 v3.0 Query Tool Initialize Error 的回答所暗示的,您需要从 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”这一事实有关。

希望对你有帮助

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

【讨论】:

  • 这行得通。我还必须重新启动 postgresql windows 服务
【解决方案3】:

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

有时需要进行 15 或 20 次以上的操作才能进入“查询工具”菜单。 我正在使用键盘快捷键 Alt+Shift+Q 以加快速度。

【讨论】:

    【解决方案4】:

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

    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 未设置为“拒绝”。这有时会在浏览器上设置为防止点击劫持。否则,它将阻止打开“查询工具”窗口的框架。您可以使用 Web 工具“检查”进行检查,或为浏览器打开控制台输出。

    我收到的错误消息类似于“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 连接。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        最近更新 更多