You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redshift中执行SHOW CREATE TABLE的最简方法及表查询问题

解决Redshift中获取表创建语句、验证Sort Keys及系统表无数据的问题

嘿,针对你遇到的几个Redshift相关问题,我整理了最实用的解决方案:

1. 获取表创建语句的最简方法

Redshift直接支持SHOW CREATE TABLE语句,这就是最简便的方式——执行后会返回完整的建表SQL,包括Sort Keys、Dist Keys、列约束等所有细节,完美满足你验证Sort Keys的需求:

-- 如果表在自定义schema下
SHOW CREATE TABLE your_schema.your_table_name;

-- 如果表在默认public schema下,可省略schema名
SHOW CREATE TABLE your_table_name;

2. 为什么svv_table_info看不到新建表?

这大概率是权限或范围的问题,常见原因有这几个:

  • 权限不足:svv_table_info只展示当前用户拥有SELECT权限的表。如果你的新建表是其他用户创建的,或者当前用户没被授权访问它,就不会出现在结果里。可以先给当前用户赋权:
    GRANT SELECT ON your_table_name TO current_user;
    
  • 未指定目标Schema:如果表不在默认的public schema下,查询时需要明确过滤schema,或者确保你的搜索路径包含该schema:
    SELECT * FROM svv_table_info WHERE schemaname = 'your_target_schema';
    
  • 连接的数据库不匹配:svv_table_info只显示当前连接数据库中的表,如果你新建表的数据库和当前连接的不是同一个,自然看不到。可以用这条语句确认当前数据库:
    SELECT current_database();
    

3. 快速验证Sort Keys的其他方式

除了看建表语句,你也可以直接从svv_table_info提取Sort Key相关信息:

SELECT 
  schemaname, 
  tablename, 
  sortkey1, sortkey2, sortkey3, -- 对应第1、2、3个排序键
  sortkey_num -- 排序键的总数量
FROM svv_table_info 
WHERE tablename = 'your_table_name';

内容的提问来源于stack exchange,提问作者DatWunGuy102

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:26:30