【问题标题】:list tables in redshift using SQLWorkbench使用 SQLWorkbench 列出 redshift 中的表
【发布时间】:2023-12-04 22:57:01
【问题描述】:

如何在 redshift 中列出表?

我正在使用 SQLWorkbench。

我试过SHOW TABLES;\dt 是无法识别的命令。

有什么帮助吗?

【问题讨论】:

  • SQL Workbench 也有WbList 命令:sql-workbench.net/manual/wb-commands.html#command-list
  • 我试过 WbList,它没有给我任何有用的东西。在过去的 ~ 1.5 年里,这种情况发生了变化吗?
  • @szeitlin“没有给出任何有用的东西”不是一个可用的问题描述
  • @a_horse_with_no_name 请参阅我对以下答案的评论。

标签: database amazon-web-services amazon-redshift sql-workbench-j


【解决方案1】:

在 Sql 工作台上,

转到工具 -> 新建 DBexplorerWindow

它会加载所有的表,然后点击显示表模式的表名

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您可以使用此查询来获取表列表

    SELECT DISTINCT tablename
    FROM pg_table_def
    WHERE schemaname = 'public'
    ORDER BY tablename;
    

    更多信息在这里 - http://docs.aws.amazon.com/redshift/latest/dg/c_join_PG_examples.html

    【讨论】:

    • @a_horse_with_no_name 一年后回复 cmets 也无济于事。我的猜测是,我的意思是“这没有返回任何结果”。但我不记得了。因为那是一年前的事了。
    【解决方案3】:

    这应该可行。

    select datname, nspname, relname, sum(rows) as rows
    from pg_class, pg_namespace, pg_database, stv_tbl_perm
    where pg_namespace.oid = relnamespace
    and pg_class.oid = stv_tbl_perm.id
    and pg_database.oid = stv_tbl_perm.db_id
    and datname = '**db_name**' and nspname = '**schema_name**'
    group by datname, nspname, relname
    order by datname, nspname, relname;
    

    【讨论】: