2013-01-03 57 views
1

全部如何在PostgreSQL中使用dblink時包含模式inf?

我想在PostgreSQL中使用dblink在不同的數據庫上運行查詢。如果表「用戶」在公共模式下,以下工作:

select * from dblink(
'hostaddr=1.2.3.4 port=5434 dbname=dbname user=username password=password', 
'select id from user') 
     as t1(
     id bigint 
); 

但是,我需要在其他一些定義的模式上運行查詢。有誰知道如何在上面的查詢中添加架構信息?我無法從PostgreSQL文檔中找出它。

回答

1

當你在寫SQL查詢像

SELECT id FROM user 

PostgreSQL將使用schema search path,默認設置爲"$user",public解決表名狀user成完全合格的名稱,比如schema.tablename

換句話說,除非您調整了服務器配置,否則user將解析爲public.user

但是,您可以在聲明中明確指定的模式,就像這樣:

SELECT id FROM otherschema.user