發表文章

目前顯示的是有「PostgreSQL」標籤的文章

備份、還原、系統轉移Docker中的Redmine和Postgresql資料庫

圖片
這篇有比較多東西要講,我已先講流程 1.說明要備份的架構 2.在已建立的Redmine系統上建立一些資訊(建立Redmine的方式在前一篇有說明) 3.備份系統 4.在全新的環境還原先前備份的系統 1.系統架構及備份說明 在Docker中建立了兩個Container分別為redmine和postgresql(下圖1) Redmine是一個專案管理系統網站服務,其中系統所上傳的"檔案"都會放在redmine的資料夾中,在建立redmine的container時我們有將其資料夾與host系統的資料夾做共用連結host volume(下圖3),所以在備份redmine的時候,直接備份host的資料夾即可。 postgresql是一個資料庫伺服器服務,而資料庫檔案是置放在container中使用container volume,置放在docker服務中(要透過指令才能備份volume),資料庫存放了redmine的設定(專案資料、權限資料、使用者清單.....等)、資料(issue、item.......等設定),但不包含檔案,所以照理來說數據量應該不會大到哪裡去,在此我們直接使用Database的GUI 管理工具進行備份和還原(比較簡單易懂) 2.在已經建立好的Redmine中做一些設定,以確保我們資料可以備份和還原的說明demo 建立了一個除了admin的使用者Ryan,並設定密碼 設定系統標題名稱 上傳一個將近5M的檔案 在此我們看一下上傳檔案前後,Redmine volume所對應的host資料夾大小 第一張是上傳前的大小85.8M,第二張是上傳將近5M檔案的大小90.8M,由使證明上傳的檔案是直接存放於redmine volume中 3.備份系統 就第一節中說的分兩個部分要備份,在redmine上傳的檔案及Redmine中的資料 (1)上傳的檔案就直接把host volume資料夾壓縮備份即可,壓縮要用7Zip或RAR或傳送到壓縮檔都可以,就是壓縮起來就對了 (2)redmine中的資料是存放在資料庫中,在上一篇有講到的一套資料庫管理工具DBerver來進行資料備份(或用postgresql原生地pgadmin4也可以) 以下說明DBerver的備...

[SQL]取得sequence 清單 (get sequence_name list)

--postgresql get sequence_name list select sequence_name from information_schema.sequences where sequence_schema='public' 參考來源: https://diego.org/2008/10/10/postgresql-sequences/ --MSSQL(MSSQP2012或以上版本) get sequence_name list SELECT name FROM sys.sequences 參考來源: http://raresql.com/2012/10/24/sql-server-2012-list-of-all-sequences-available-in-the-database/

[PostgreSQL]列出資料表清單

要做一支PostgreSQL資料轉倒到MSSQL,所以先來查些需要用到的指令,並做紀錄 select * from Information_schema.tables where table_schema not in ('information_schema','pg_catalog') order by table_name asc;

[MSSQL、PostgreSQL]列出資料表的欄位與資料型態

圖片
[PostgreSQL] SELECT column_name , data_type from information_schema.columns where table_name = ' test_table '; 紅色字部分為資料表名稱 搜尋結果 UI設定畫面 [MSSQL] SELECT COLUMN_NAME,DATA_TYPE,COLUMN_DEFAULT from information_schema.columns where table_name = ' table_Name ';