Измените имя схемы, а затем снова измените его - PullRequest
0 голосов
/ 02 мая 2019

В процессе очистки я изменил некоторые имена схем в 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 мс

1 Ответ

2 голосов
/ 02 мая 2019

Таблицы обычно не удаляются операцией переименования.

Возможно, переименование изменило ваш путь поиска, и вы просто сейчас не видите таблицы. Попробуйте повторно добавить имя схемы в путь поиска.

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 
;
...