我有一個多租戶應用程序,其中租戶在同一個數據庫中的不同模式上設置。原因是他們有一些共享數據,他們在一個模式中使用。Postgres針對多個模式運行語句
到目前爲止,我一直在使用一個bash腳本,並在其中添加了一個模式列表,每當添加一個新模式時都需要更新,並且我需要執行跨帳戶的表模式更改等操作。例如添加一個新列到表中。
是否有Postgres的,PSQL等方式......比如
ALTER TABLE some_table ADD COLUMN some_column TEXT NOT NULL DEFAULT '';
無需做字符串替換在諸如bash例如另一個腳本運行。
換言之,是否有足夠簡單的方法來獲取模式,並在psql中寫入for循環,該循環將遍歷模式並通過設置search_path來運行語句。
原因是租戶數量不斷增加,新租戶可以由不是開發人員的管理員用戶添加,所以我不斷更新我的shell腳本。這隻會成倍增長。有沒有處理這類問題的標準方法?
是的,您可以在主模式(posgres)上創建一個過程獲取所有schem就像在INFORMATION_SCHEMA模式中一樣,並且讓你的更改運行它的命令 –