關係表名不存在 - PostgreSQL

關係表名不存在 - 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

但我收到此錯誤: 關係「入學」不存在 當我透過更改招生來模仿 iii.admissions 來修改查詢時,它起作用了。知道imit 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='...'

相關內容