У меня есть база данных, каждая из которых имеет схему.postgresql запрос по нескольким схемам
Есть ли способ запросить таблицу в каждой схеме?
Что-то вроде: select id, name from *.simulation
не работает ...
Спасибо за вашу помощь!
У меня есть база данных, каждая из которых имеет схему.postgresql запрос по нескольким схемам
Есть ли способ запросить таблицу в каждой схеме?
Что-то вроде: select id, name from *.simulation
не работает ...
Спасибо за вашу помощь!
Нет, вам нужно будет написать функцию - либо функцию на стороне сервера, либо функцию на стороне клиента на любом языке, который вы используете, - который выполняет запрос один раз для каждой схемы.
Вы также можете создать ПРОСМОТР, который делает UNION ALL между всеми схемами, но это будет большой объем работы по поддержанию динамического добавления и удаления ваших схем.
Спасибо, я пытаюсь написать хранимую процедура, с некоторыми трудностями ... (Еще один вопрос: http://stackoverflow.com/questions/3546488/postgresql-stored-procedure-with-querie-on-several-schema) –
Да, вы можете использовать SET search_path TO ..., чтобы указать на все схемы. Если вы не знаете все имена схем, оберните его в функцию, которая сначала выбирает все схемы, а затем задает весь путь search_path.
http://www.postgresql.org/docs/current/interactive/sql-set.html
Это все равно только даст вам таблицу из первая указанная схема, в которой указан один из них, причем не все из них сразу. –
Ты прав, забыл эту деталь ... :( –
больше деталей: результат должен быть что-то вроде «выберите идентификатор, имя из user1.simulation союза выберите идентификатор, название от user2.simulation союза ...» –