在 PostgreSQL 中,search_path
是一個(gè)環(huán)境變量,用于指定數(shù)據(jù)庫(kù)中搜索對(duì)象的順序。當(dāng)執(zhí)行查詢(xún)時(shí),PostgreSQL 將按照指定的搜索路徑順序查找表、視圖、函數(shù)等對(duì)象。search_path
中包含的 schema 名稱(chēng)用逗號(hào)分隔,可以包括系統(tǒng) schema、用戶(hù) schema 或者公共 schema。
search_path
的語(yǔ)法如下:
SET search_path TO schema1, schema2, ...;
其中,schema1
, schema2
等為數(shù)據(jù)庫(kù)中的 schema 名稱(chēng)。當(dāng)執(zhí)行查詢(xún)時(shí),PostgreSQL 將按照指定的搜索路徑順序查找對(duì)象。如果指定的 schema 中不存在需要的對(duì)象,則會(huì)返回錯(cuò)誤。
可以通過(guò)以下方式查看當(dāng)前的 search_path
設(shè)置:
SHOW search_path;
可以通過(guò)以下方式修改 search_path
設(shè)置:
SET search_path TO schema1, schema2, ...;
另外,也可以在連接到數(shù)據(jù)庫(kù)時(shí)通過(guò)參數(shù) -c search_path=schema1,schema2
來(lái)設(shè)置 search_path
。