Postgresql

如何使用註釋對 PostgreSQL 模式進行版本控制?

  • January 9, 2019

我對Git的大部分工作進行版本控制:程式碼、文件、系統配置。我能夠做到這一點是因為我所有有價值的工作都儲存為文本文件。

我也一直在為我們的 Postgres 數據庫編寫和處理大量 SQL 模式。該模式包括視圖、SQL 函式,我們將使用R程式語言(通過PL/R)編寫 Postgres 函式。

我試圖複製並過去我和我的合作者編寫的塊模式,但我忘記了這樣做。複製和過去的操作是重複的並且容易出錯。

pg_dump / pg_restore 方法將不起作用,因為它會失去註釋。

理想情況下,我希望有某種方法將我目前的模式提取到一個或多個文件中並保留註釋,以便我可以進行版本控制。

帶有註釋的版本控制架構的最佳實踐是什麼?

你為什麼不COMMENT ON使用各種SCHEMA組件,這樣你的評論就在模式中,並且會被丟棄。

COMMENT 儲存有關數據庫對象的註釋。

要修改註釋,請為同一對象發出新的 COMMENT 命令。每個對像只儲存一個註釋字元串。要刪除註釋,請用 NULL 代替文本字元串。刪除對象時會自動刪除註釋。

版本控制模式對我來說一直是個問題。我通常對我正在使用的數據建模工俱生成的模式進行版本控制。該模型也是版本控制的。我使用目前模式和以前模式之間的差異來建構更新模式所需的更新檔。一些建模工具會創建可用的模式更新腳本。更新腳本也受版本控制。

我偶爾會看到旨在以適合重新生成模式的格式轉儲模式的腳本。其中之一可能是您正在尋找的。一些建模和查詢工具能夠從現有模式創建模式重新生成腳本。如果您可以編寫腳本,它可能會為您提供適合版本控制的文件。

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