我在 Redshift 中创建了一个表。当我尝试搜索表定义时,我information_schema.columns
通过运行以下查询来获取结果:
select * from information_schema.columns
where table_name = 'table' and table_schema='schema'
但是,当我对 运行查询时pg_catalog.pg_table_def
,我没有得到任何结果。
select * from pg_catalog.pg_table_def
where tablename = 'table' and schemaname = 'schema'
谁能帮我理解为什么会这样?该表由我正在使用的帐户创建并拥有。
检查
show search_path;
以确保您位于创建表的当前路径上。如原始 AWS 红移文档所述。得到你想要的,你应该跑
set search_path to '$user', '<#your_schema#>'; select * from pg_catalog.pg_table_def where tablename = '<#your_table#>';
希望有帮助。