Postgresql

如何在 postgresql 中獲取外部伺服器表的列表?

  • September 8, 2022

我在 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);

引用自:https://dba.stackexchange.com/questions/316596