[英]Azure Data Studio Failed to Expand Node
我刚刚安装了 Azure Data Studio (ADS) 和 PostgreSQL 扩展。 ADS 连接到我的 Postgresql,我可以查询我的数据库。 但是,下拉“数据库”选项卡不会展开。 当我右键单击进行刷新时,会显示一条错误消息“错误:无法展开节点”。 有人可以帮忙吗? 非常感谢你提前。
似乎是 ADS 的一个已知问题,因为 pg_database.datlastsysoid 字段已在 PostgreSQL 15 中删除。我也在等待解决方案。
Azure 数据工作室问题: https://github.com/microsoft/azuredatastudio-postgresql/issues/333
在版本 15 中删除 datlastsysoid 的理由: https://www.postgresql.org/message-id/CA%2BTgmoa14%3DBRq0WEd0eevjEMn9EkghDB1FZEkBw7%2BUAb7tF49A%40mail.8826394080816887.8
按照 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
对于 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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.