为了进行清理,我在Redshift中更改了一些架构名称。然后,我几乎立即将模式名称切换回去。除了几张桌子外,其他所有桌子都不见了。
这是一个已知问题吗?
我应该更小心地将表重命名为以前的名称吗?
sql> ALTER SCHEMA common_schema RENAME TO common_schema_v1
[2019-05-01 14:39:25]在432毫秒内完成
sql> ALTER SCHEMA common_schema_v1 RENAME TO common_schema
[2019-05-01 14:48:41]在371毫秒内完成
答案 0 :(得分:2)
通常不会通过重命名操作删除表。
可能是重命名更改了您的搜索路径,您现在才看不到表格。尝试将架构名称重新添加到您的搜索路径。
SHOW search_path;
SET search_path TO public, common_schema;
您还可以在目录中查找表格,以确认它们仍然存在。
SELECT *
FROM information_schema.tables
WHERE table_schema = 'common_schema'
;
或
SELECT nspname AS schema_name
, relname AS table_name
FROM pg_class c
, pg_namespace n
WHERE n.oid = c.relnamespace
AND c.reltype > 0
AND n.nspname = 'common_schema'
ORDER BY 1, 2
;