Запрос SQL AWS athena на information_schema не работает

Я пытаюсь получить метаданные из AWS athena, выполнив SQL-запрос как:

SELECT table_catalog, table_schema, table_name FROM information_schema.tables
WHERE table_schema = 'information_schema'

когда я получаю сообщение об ошибке:

Информационная_схема базы данных не найдена. Пожалуйста, проверьте свой запрос.

Запрос работает нормально без предложения WHERE или какого-либо другого условия. Я что-то упускаю?


person Sameer Mahajan    schedule 08.06.2018    source источник
comment
Есть ли какие-то ссылки, которые вы нашли, предполагающие, что это возможно, или ссылки на information_schema?   -  person John Rotenstein    schedule 08.06.2018
comment
@JohnRotenstein: Как я уже сказал, я могу выполнить запрос без предложения WHERE. Когда я запускаю его, для метаданных я вижу table_schema как «information_schema». Я не уверен, почему его строковое значение путают с базой данных в условии where ...   -  person Sameer Mahajan    schedule 08.06.2018
comment
Это более старый вопрос, но я чувствую, что должен указать для всех, кто читает его позже, что проблема в том, что представления information_schema содержат метаданные о таблицах и представлениях, но не содержат никакой информации о самих себе, поэтому FROM information_schema.tables WHERE table_schema = 'information_schema' является бессмысленно.   -  person Nathan Griffiths    schedule 23.04.2019


Ответы (1)


Попробуйте указать полный путь к столбцу, например information_schema.tables.table_schema

Когда вы запрашиваете другую схему, рекомендуется указать полный путь для имени столбца.

Итак, ваш запрос будет примерно таким:

SELECT table_catalog, table_schema, table_name FROM information_schema.tables WHERE information_schema.tables.table_schema = 'information_schema'

person Rajesh G    schedule 13.11.2018
comment
Не решает проблему - person gimpy; 26.05.2020