Category : PostgreSQL

11 posts

前面所介紹的各種指令大多可以加上選項 OPTION,有的選項需要夾帶參數, 一般選項的寫法是,如果選項是一個字元,就前面加上 dash(-),再將選項與參數以一個空白隔開,如果選項是全文,則前面兩個 dash(-),再用等號「=」將選項和參數結合 ...
本篇共被瀏覽過 1731 次,使用者 350 次,機器程式 1381 次
  1. 還原前先建立資料庫: 由於 pg_dump 建立的 SQL 指令檔不會先 CREATE DATABASE,只會 CREATE TABLE,所以若是還原至一個全新的資料庫,則在還原前必須先建立一個資料庫才行。可以下類似 createdb -T template0 DBNAME 的指令,依 template0 建立一個新的資料庫。若是還原至已存在的資料庫(原本的資料庫裡可能已經有其他人所建立的資料表),則不需要先建立一個新的資料庫也可以正常還原成功。
  2. 檢查分析還原的資料: vacuum 為 garbage collection 的動作。當 DELETE 或 UPDATE 資料之後,在執行 vacuum 之前,資料表內的資料都還不會變動,因此對於會經常更新的資料表,必須週期性地執行 vacuum 以取得最新最正確的資料;vacuum 可以配合 analyze 指令。analyze 指令用來統計資料表的內容並作出最佳化的規劃,使查詢資料時可以更快速更有效率。還原資料庫後,可以透過 vacuumdb 指令來整理內容 ...
本篇共被瀏覽過 5088 次,使用者 992 次,機器程式 4096 次
資料庫系統的所有資料存在於檔案系統中,而 PostgreSQL Cluster 的資料是放在 initdb 時,設定 -D 選項所指定的目錄中(例如 <postgresql目錄>/data), 因此要將整個 Cluster 備份的話,就是將整個 data 的目錄包裝成一個檔案。 Unix 系統通常用 tar,而 Windows 系統則用 zip 壓縮程式將整個目錄包裝成一個檔案 ...
本篇共被瀏覽過 1503 次,使用者 214 次,機器程式 1289 次
pg_dumpall 用來將 Cluster 中的所有資料庫備份起來,由於 Cluster 中可能有多名使用者,而且 postgres、template0、template1 三個資料庫的擁有者為建立 Cluster 時的 superuser,所以一定要透過 superuser 才有足夠的權限來備份整個 Cluster。另外,pg_dumpall 一定是將整個 Cluster 的資料輸出成 SQL 文字檔,而沒有像 pg_dump 一樣可以備份成 tar 或 custom 的格式。除了 pg_dump 特有的 -Z 及 -F 之類的選項外,pg_dumpall 大部份選項都類似 pg_dump ...
本篇共被瀏覽過 5400 次,使用者 1433 次,機器程式 3967 次
天有不測風雲,為了保護辛辛苦苦所建立的資料, 最好定期備份資料,並將備份存放到不同的地方。 簡易的備份方式可以分為以下兩種: 1.SQL 文字檔案方式備份 2.檔案系統層級備份 第一種方式可以透過 pg_dump 及 pg_dumpall 來將資料庫的資料 dump 出來成為文字檔備份,第二種方式則是將存放資料的整個目錄備份起來,但必須先將該 Cluster 關閉才行 ...
本篇共被瀏覽過 2144 次,使用者 742 次,機器程式 1402 次
createuser 指令的使用必須在已有 server 啟動的狀態下方能執行,否則會產生錯誤; 基本上至少要設定三種權限,即是否為 superuser、是否可建立資料庫、是否可建立新使用者,superuser 擁有 PostgreSQL Cluster 的所有權限,包括建立資料庫及建立使用者等; 下指令時若少了指定 [-s|-S] 或 [-r|-R] 或 [-d|-D] 或新使用者名稱時, 就會進入互動式介面個別詢問,故簡單一點的建立使用者方式就是完全不設定 OPTION, 直接下 createuser 指令後讓程式詢問 ...
本篇共被瀏覽過 1509 次,使用者 279 次,機器程式 1230 次
使用 createdb 建立資料庫 createdb 指令的使用必須在已有 server 啟動的狀態下方能執行,否則會產生錯誤; 若 initdb 初始化 Cluster 檔案時有指定 -A password 強制要輸入密碼才能登入時, 則 createdb 時一定要用 -U 指定一位擁有建立資料庫權限的使用者來建立資料庫 ...
本篇共被瀏覽過 1538 次,使用者 339 次,機器程式 1199 次
PAGE TOP