2012-10-12 37 views
0

如何在PostgreSQL的表格中查找相關過程?如何在PostgreSQL的表格中查找相關過程

我使用的PostgreSQL版本是8.1。

+0

請澄清這個矛盾的問題。 8.1還是8.4?依賴如何? –

+0

假設我在過程get_emp_name和許多其他過程中引用表emp。現在我想改變emp表的結構。但我不確定哪個程序/函數會受到emp表的影響。有什麼方法可以讓我知道引用表emp的所有過程。在oracle的情況下有一個字典表all_dependency,不知道如何檢查這些是postgresql –

+0

我刪除了矛盾的問題標籤。 –

回答

2

對於許多對象,如視圖,類型或系統目錄中的外鍵約束,都存在直接依賴關係。但是plpgsql函數的主體只是一個當函數被調用時執行的字符串(加上一些更多的魔力)。我引用the manual on CREATE FUNCTION

定義函數的字符串常量;含義取決於 語言。它可以是內部函數名稱,對象 文件的路徑,SQL命令或過程語言中的文本。

您可以創建數據庫的模式備份並使用您選擇的編輯器或工具搜索轉儲。與grepvim一樣。

例如,轉儲數據庫的模式:

pg_dump $DB -p $PORT -s -f /path/to/output/db_schema.pgsql 

-s--schema-onlyMore about pg_dump in the manual

+0

嘿謝謝Erwin ......那真的對我充滿了。 –

相關問題