PostgreSQL以已有數據庫爲模板快速創建數據庫

情景引入

很多時候,新項目創建數據庫,是從已有的數據庫拷貝而來。下面分享一個PostgreSQL非常簡單便捷的以已有數據庫爲模板快速創建新數據庫的方法。

雖然看起來我的文章寫得挺長的,但是其實操作真的就是簡單的幾步。請耐心閱讀。

創建過程

  • 創建用戶和表空間(根據需求,也可以用已有的用戶和表空間)
  • 打開創建數據庫窗口
  • 填寫常規信息
  • 選擇定義參數
  • 斷開所有連接用戶,保存提交

具體操作

本文通過克隆已有的數據庫product,創建一個新的數據庫newdb

創建用戶和表空間

首先,如果新數據庫需要新的用戶和表空間,那麼先創建好相應的用戶和表空間。這裏就不描述如何創建用戶和表空間了,我就用PostgreSQL默認的用戶postgres和表空間pg_default來演示。

打開創建數據庫窗口

在PostgreSQL自帶的工具pgAdmin中選擇相應的數據庫位置,右鍵選擇創建數據庫,打開創建數據庫窗口

選擇創建數據庫

填寫常規信息

如圖,填寫數據庫名稱newdb,選擇所有者postgres,填寫備註信息。
在這裏插入圖片描述

選擇定義參數

選擇編碼爲UTF-8,模板爲要拷貝的數據庫product,選擇需要的表空間,其他默認即可。
在這裏插入圖片描述

斷開所有用戶連接,保存提交

設置好上面的信息後,點擊保存按鈕,即可創建新的數據庫。但是一般情況下會報錯:其他用戶正在訪問源數據庫。所以需要先斷開所有用戶連接。
在這裏插入圖片描述
保持創建數據庫窗口存在(不要關閉)。在要複製的數據庫上右鍵選擇查詢工具,在打開的查詢窗口中執行下面SQL語句。會彈出警告窗口,警告當前數據庫連接已斷開,點擊取消關閉警告窗口即可。查詢工具界面消息顯示到服務器的連接已丟失

SELECT pg_terminate_backend(pg_stat_activity.pid)  

FROM pg_stat_activity  

WHERE datname='dbname'

在這裏插入圖片描述
然後點擊之前的創建數據庫窗口的保存按鈕進行保存。稍等片刻,就會完成新數據庫的創建,在左側的數據庫目錄樹上可以看到新創建的數據庫newdb。可以看到newdb數據庫擁有了product數據庫的所有數據。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章