отношение tableName не существует - PostgreSQL

отношение tableName не существует - PostgreSQL

У меня есть база данных с именемподражатьна моемБД постгрес. Я пытаюсь выполнить эту команду:

select hadm_id from admission_ids where hadm_id in (select distinct on (subject_id) hadm_id from (select * from admissions order by admittime) tt

но я получаю эту ошибку: отношение "прием" не существует Когда я изменяю запрос, изменяя admissions на mimic iii.admissions, это работает. Зная, что mimic iii — это схема, когда я ввожу этот запрос, появляется следующий результат:

SELECT table_name FROM information_schema.tables WHERE table_schema = 'mimiciii';
     table_name     
--------------------
 admissions
 callout
 caregivers
 datetimeevents
 ...

Мой вопрос: что можно сделать, чтобы пользователь вводил только имя таблицы, не используя schema.tableName?

решение1

Мой вопрос: что можно сделать, чтобы пользователь вводил только имя таблицы, не используя schema.tableName?

Поместив схему в свойsearch_path.

Помимо того SET search_path TO ..., что он действителен в течение всего сеанса, его можно сделать постоянным для каждого пользователя с помощью ALTER USER username SET search_path='...'или для каждой базы данных с помощью ALTER DATABASE dbname SET search_path='...'.

Связанный контент