GB | BIG5
|
| 首頁 > 數據庫 > 其它 > 正文 |
 |
| PostgreSQL7.0手冊-管理員手冊-31. 管理數據庫 |
| 編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:48:00) |
第三十一章. 管理數據庫
內容
創建數據庫
訪問數據庫
管理數據庫
備份和恢復
如果 Postgrespostmaster 已經就緒並且運行起來了,那我們就可以創建一些數據庫做一些試驗了.這裡我們描述管理數據庫的基本命令.
創建數據庫
我們假設你要創建一個名為 mydb 的數據庫.你可以用下面命令做這件事情:
% createdb dbname
Postgres 允許你在一個節點上創建任意數量的數據庫,並且你自動成為該數據庫的管理員.數據庫名必須以字母開頭而且少 31 個字符長(譯注:可以通過配置和重新編譯 postgres 改變這個值。).並不是任何用戶都有權利成為數據庫管理員.如果Postgres拒絕為你創建數據庫,那節點管理員有必要賦予你創建數據庫的權限.如果出現這種現象,請與你的節點管理員聯系.
--------------------------------------------------------------------------------
訪問數據庫
一旦你已經建立了一個數據庫,你可以用下面方法訪問它:
運行 Postgres 的終端控制程序(SQL界面)(psql),它允許你交互地輸入,編輯和執行 SQL 命令.
寫一個利用 libpq 子過程庫的 C 程序.它允許你在 C 裡面提交一個 SQL 命令,然再收到返回和狀態信息.這個接口將在 PostgreSQL 程序員手冊 中進一步討論.
你可能希望運行起 psql,然把本手冊的例子試驗一下.這個可以通過用下面命令激活數據庫 dbname 進行:
psql dbname
你將看到如下歡迎信息:
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
dbname=>
這個提示符表示SQL界面正在偵聽你的輸入,因此你可以鍵入 SQL 查詢到由SQL界面維護的工作區中.psql 程序響應由反斜槓 "\" 開頭的轉意字符.例如,你可以鍵入下面命令獲得關各種 PostgresSQL 命令的語法的幫助:
dbname=> \h
一旦你完成了向工作區中查詢的輸入,你可以鍵入下面命令把工作區的內容提交給 Postgres 服務器:
dbname=> \g
這個命令告訴服務器執行查詢.如果你以分號結束查詢(語句),上面的反斜槓-g就不必輸入了.psql 會自動處理分號結尾的查詢.如果要從一個文件裡讀入查詢,而不是交互地輸入,鍵入:
dbname=> \i filename
從 psql 退回到 UNIX,鍵入
dbname=> \q
psql 將退出並且回到你的命令行 shell.(要知道更多的轉意字符信息,在SQL界面提示符上鍵入反斜槓-h.)在 SQL 查詢裡面可以隨意使用空白(例如,空格,tabs 和 新行).單行注釋用 “--”(破折號).在破折號面到行尾的所有內容都被忽略.多行注釋以及行內注釋,用 “/* ... */”-- 從 Ingres 借來的習慣。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
刪除數據庫
如果你是數據庫 mydb 的數據庫管理員,你可以用下面 UNIX 命令將其刪除:
% dropdb dbname
這個動作物理上刪除所有與該數據庫相關的 UNIX 文件,而且是不可逆的,所以在這做之前你必須要考慮清楚.
還可以用下面語句在一次 SQL 會話裡刪除一個數據庫。(譯注:但不能是正在聯接的數據庫。)
> drop database dbname
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
備份和恢復
注意
每個數據庫都應該經常備份。因為 Postgres 在文件系統裡管理它自己的文件,我們不建議依靠你的文件系統的系統備份作為你的數據庫備份;那樣不能保証在恢復文件處可用的一致的狀態。
Postgres 提供兩個工具備份你的系統:pg_dump 備份獨立的數據庫以及 pg_dumpall 在一個步驟裡備份你的數據庫節點。
可以用下面的命令備份一個獨立的數據庫:
% pg_dump dbname > dbname.pgdump
然可以用下面命令恢復
cat dbname.pgdump | psql dbname
這個技巧可以用把數據庫移動到一個新位置,然重新命名現有數據庫。
大數據庫
作者:由 Hannu Krosing 寫 1999-06-19。
因為 Postgres 允許表的尺寸大你的系統的最大文件尺寸,可能把表輸出到一個文件會有問題,因為生成的文件很可能比你的系統允許的最大文件大。
因為 pg_dump 輸出到 stdout,你可以用標準的 *nix 工具繞開這個問題:
使用壓縮的 輸出:
% pg_dump dbname | gzip > filename.dump.gz
重載:
% createdb dbname
% gunzip -c filename.dump.gz | psql dbname
或
% cat filename.dump.gz | gunzip | psql dbname
使用分割(split):
% pg_dump dbname | split -b 1m - filename.dump.
重載:
% createdb dbname
% cat filename.dump.* | pgsql dbname
當然,文件名(filename)和 pg_dump 輸出的內容不必與數據庫名一樣。同樣,重載的數據庫可以有任意新的名稱,所以這個機制還適用給數據庫改名。
--------------------------------------------------------------------------------
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
PostgreSQL7.0手冊-附錄-文檔 (2001-04-21 23:50:44) PostgreSQL7.0手冊-附錄-日期/時間支持-CVS 倉庫 (2001-04-21 23:48:48) PostgreSQL7.0手冊-教程 -73. Postgres SQL 高級特性 (2001-04-21 23:45:36) PostgreSQL7.0手冊-教程 -72. 查詢語言 (2001-04-21 23:44:40) PostgreSQL7.0手冊-教程 -71. 開始 (2001-04-21 23:42:54) PostgreSQL7.0手冊-教程 -70. 體系結構 (2001-04-21 23:41:58) PostgreSQL7.0手冊-教程 -69. SQL (2001-04-21 23:41:23) PostgreSQL7.0手冊-開發者手冊 -68. 分頁文件 (2001-04-21 23:39:22) PostgreSQL7.0手冊-開發者手冊 -67. 端接口 (2001-04-21 23:38:34) PostgreSQL7.0手冊-開發者手冊 -66. gcc 缺省優化 (2001-04-21 23:37:20)
|
===更多相關=== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |