barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

вторник, 20 марта 2012 г.

Поведение PostgreSQL в случае, когда схема объекта явно не задана

Когда схема, к которой принадлежит объект, используемый в запросе (например, таблица), не указана явно, PostgreSQL ищет объекты в различных схемах, имена которых содержатся в т.н. "search path", посмотреть содержимое которого можно командой:
SHOW search_path;
По-умолчанию search path содержит два значения: "$user" и public. Т.е. сначала постгрес ищет объект в схеме, имя которой совпадает с именем текущего пользователя, а затем - в  схеме public.
Установить search path можно командой:
SET search_path TO my_schema;
Теперь постгрес будет искать объекты только в схеме "my_schema" (эта команда повлияет только на запросы текущего соединения с БД). Можно через запятую перечислить несколько схем.

Комментариев нет:

Отправить комментарий