Azure Data Studio 无法展开节点

问题描述 投票:0回答:4

我刚刚安装了 Azure Data Studio (ADS) 和 PostgreSQL 扩展。 ADS 连接到我的 Postgresql,我可以对我的数据库进行查询。但是,下拉“数据库”选项卡不会展开。当我右键单击进行刷新时,会显示一条错误消息“错误:无法展开节点”。有人愿意帮忙吗?提前非常感谢您。

postgresql azure-data-studio
4个回答
7
投票

对于 MacOS 用户,这是必需的文件:

~/.azuredatastudio/extensions/microsoft.azuredatastudio-postgresql-0.2.7/out/ossdbtoolsservice/OSX/v1.5.0/pgsqltoolsservice/lib/pgsmo/objects/database/templates/+default/nodes.sql

为了完整起见,更新内容:

{#
 # pgAdmin 4 - PostgreSQL Tools
 #
 # Copyright (C) 2013 - 2017, The pgAdmin Development Team
 # This software is released under the PostgreSQL Licence
 #}
SELECT
    db.oid as oid,
    db.datname as name,
    ta.spcname as spcname,
    db.datallowconn,
    0 As datlastsysoid,
    has_database_privilege(db.oid, 'CREATE') as cancreate,
    datdba as owner,
    db.datistemplate ,
    has_database_privilege(db.datname, 'connect') as canconnect,
    datistemplate as is_system

FROM
    pg_database db
    LEFT OUTER JOIN pg_tablespace ta ON db.dattablespace = ta.oid
{% if did %}
WHERE db.oid = {{ did|qtLiteral }}::OID
{% elif last_system_oid %}
WHERE db.oid > {{ last_system_oid }}::OID
{% endif %}

ORDER BY datname;

6
投票

按照 Crocodilus 的指示编辑节点查询替换行

db.datlastsysoid
0 as datlastsysoid
为我工作。一项更新是在用户配置文件引用后添加斜杠:
%USERPROFILE%\.azuredatastudio\extensions\microsoft.azuredatastudio-postgresql-0.2.7\out\ossdbtoolsservice\Windows\v1.5.0\pgsqltoolsservice\lib\pgsmo\objects\database\templates\+default\nodes.sql


5
投票

似乎是 ADS 的一个已知问题,因为 pg_database.datlastsysoid 字段在 PostgreSQL 15 中被删除。我也在等待解决方案。

Azure Data Studio 问题: https://github.com/microsoft/azuredatastudio-postgresql/issues/333

在版本 15 中删除 datlastsysoid 的理由: https://www.postgresql.org/message-id/CA%2BTgmoa14%3DBRq0WEd0eevjEMn9EkghDB1FZEkBw7%2BUAb7tF49A%40mail.gmail.com


0
投票

我从 Github 中的 Microsoft pgtoolsservice 下载了 SQL 模板,该模板修复了在 Postgres 数据库的“服务器”中展开数据库下拉列表时 ADS 中的错误。

Microsoft pgtools服务模板

我刚刚将所有 SQL 文件复制到 ADS 的 AppData\Local 模板位置,然后重新启动 ADS。我的(Windows 11)位置如下:

[username]\AppData\Local\Temp\[random app string]\pgsmo\objects\database\templates\+default

此路径是从 ADS 的错误消息中复制的。

© www.soinside.com 2019 - 2024. All rights reserved.