Postgresql
如何在 postgresql 中獲取外部伺服器表的列表?
我在 postgresql 中創建了一個外部伺服器。在添加外部表之前,我想獲取此外部伺服器中的表列表。
有什麼辦法可以做到這一點嗎?
此 sql 查詢顯示創建的外部表:
select * from information_schema.foreign_tables
但我想在創建之前知道表名和結構!
沒有辦法做到這一點。您必須直接連接到遠端數據源。
您可以使用 dblink 來執行此操作。這很不愉快,因為您必須列出所有列名和類型。
您可以將外部伺服器的名稱作為 dblink 的第一個參數:
create extension dblink; select * from dblink('the_foreign_server','select * from pg_tables') foo(sc name, tb name, ow name, ts name, ind bool, rul bool, tr bool, rls bool);