国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-管理員手冊-31. 管理數(shù)據(jù)庫

2019-09-08 23:33:51
字體:
供稿:網(wǎng)友
第三十一章. 管理數(shù)據(jù)庫
內(nèi)容 
創(chuàng)建數(shù)據(jù)庫 
訪問數(shù)據(jù)庫 
管理數(shù)據(jù)庫 
備份和恢復(fù) 
如果 Postgrespostmaster 已經(jīng)就緒并且運(yùn)行起來了,那么我們就可以創(chuàng)建一些數(shù)據(jù)庫做一些試驗了.這里我們描述管理數(shù)據(jù)庫的基本命令. 
創(chuàng)建數(shù)據(jù)庫
我們假設(shè)你要創(chuàng)建一個名為 mydb 的數(shù)據(jù)庫.你可以用下面命令做這件事情: 
% createdb dbname
Postgres 允許你在一個節(jié)點(diǎn)上創(chuàng)建任意數(shù)量的數(shù)據(jù)庫,并且你自動成為該數(shù)據(jù)庫的管理員.?dāng)?shù)據(jù)庫名必須以字母開頭而且少于 31 個字符長(譯注:可以通過配置和重新編譯 postgres 改變這個值。).并不是任何用戶都有權(quán)利成為數(shù)據(jù)庫管理員.如果Postgres拒絕為你創(chuàng)建數(shù)據(jù)庫,那么節(jié)點(diǎn)管理員有必要賦予你創(chuàng)建數(shù)據(jù)庫的權(quán)限.如果出現(xiàn)這種現(xiàn)象,請與你的節(jié)點(diǎn)管理員聯(lián)系.
--------------------------------------------------------------------------------

訪問數(shù)據(jù)庫
一旦你已經(jīng)建立了一個數(shù)據(jù)庫,你可以用下面方法訪問它: 
運(yùn)行 Postgres 的終端控制程序(SQL界面)(psql),它允許你交互地輸入,編輯和執(zhí)行 SQL 命令.
寫一個利用 libpq 子過程庫的 C 程序.它允許你在 C 里面提交一個 SQL 命令,然后再收到返回和狀態(tài)信息.這個接口將在 PostgreSQL 程序員手冊 中進(jìn)一步討論.
你可能希望運(yùn)行起 psql,然后把本手冊的例子試驗一下.這個可以通過用下面命令激活數(shù)據(jù)庫 dbname 進(jìn)行: 
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界面維護(hù)的工作區(qū)中.psql 程序響應(yīng)由反斜杠 "/" 開頭的轉(zhuǎn)意字符.例如,你可以鍵入下面命令獲得關(guān)于各種 PostgresSQL 命令的語法的幫助: 
dbname=> /h
一旦你完成了向工作區(qū)中查詢的輸入,你可以鍵入下面命令把工作區(qū)的內(nèi)容提交給 Postgres 服務(wù)器: 
dbname=> /g
這個命令告訴服務(wù)器執(zhí)行查詢.如果你以分號結(jié)束查詢(語句),上面的反斜杠-g就不必輸入了.psql 會自動處理分號結(jié)尾的查詢.如果要從一個文件里讀入查詢,而不是交互地輸入,鍵入: 
dbname=> /i filename
從 psql 退回到 UNIX,鍵入 
dbname=> /q
psql 將退出并且回到你的命令行 shell.(要知道更多的轉(zhuǎn)意字符信息,在SQL界面提示符上鍵入反斜杠-h.)在 SQL 查詢里面可以隨意使用空白(例如,空格,tabs 和 新行).單行注釋用 “--”(破折號).在破折號后面到行尾的所有內(nèi)容都被忽略.多行注釋以及行內(nèi)注釋,用 “/* ... */”-- 從 Ingres 借來的習(xí)慣。

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

刪除數(shù)據(jù)庫
如果你是數(shù)據(jù)庫 mydb 的數(shù)據(jù)庫管理員,你可以用下面 UNIX 命令將其刪除: 
% dropdb dbname
這個動作物理上刪除所有與該數(shù)據(jù)庫相關(guān)的 UNIX 文件,而且是不可逆的,所以在這么做之前你必須要考慮清楚. 
還可以用下面語句在一次 SQL 會話里刪除一個數(shù)據(jù)庫。(譯注:但不能是正在聯(lián)接的數(shù)據(jù)庫。) 

> drop database dbname


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

備份和恢復(fù)
  注意 
每個數(shù)據(jù)庫都應(yīng)該經(jīng)常備份。因為 Postgres 在文件系統(tǒng)里管理它自己的文件,我們不建議依靠你的文件系統(tǒng)的系統(tǒng)備份作為你的數(shù)據(jù)庫備份;那樣不能保證在恢復(fù)后文件處于可用的一致的狀態(tài)。 

Postgres 提供兩個工具備份你的系統(tǒng):pg_dump 備份獨(dú)立的數(shù)據(jù)庫以及 pg_dumpall 在一個步驟里備份你的數(shù)據(jù)庫節(jié)點(diǎn)。 
可以用下面的命令備份一個獨(dú)立的數(shù)據(jù)庫: 

% pg_dump dbname > dbname.pgdump
然后可以用下面命令恢復(fù) 
cat dbname.pgdump | psql dbname
這個技巧可以用于把數(shù)據(jù)庫移動到一個新位置,然后重新命名現(xiàn)有數(shù)據(jù)庫。 
大數(shù)據(jù)庫
作者:由 Hannu Krosing 寫于 1999-06-19。
因為 Postgres 允許表的尺寸大于你的系統(tǒng)的最大文件尺寸,可能把表輸出到一個文件會有問題,因為生成的文件很可能比你的系統(tǒng)允許的最大文件大。 
因為 pg_dump 輸出到 stdout,你可以用標(biāo)準(zhǔn)的 *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
當(dāng)然,文件名(filename)和 pg_dump 輸出的內(nèi)容不必與數(shù)據(jù)庫名一樣。同樣,重載的數(shù)據(jù)庫可以有任意新的名稱,所以這個機(jī)制還適用于給數(shù)據(jù)庫改名。

--------------------------------------------------------------------------------
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 长春市| 宁武县| 恩施市| 栾城县| 江北区| 许昌县| 武鸣县| 牙克石市| 昭平县| 平安县| 安达市| 姚安县| 沙坪坝区| 临澧县| 道孚县| 塔城市| 汕头市| 嘉义县| 都江堰市| 丰镇市| 三江| 普陀区| 清远市| 云南省| 莱州市| 吐鲁番市| 天柱县| 阳春市| 绥化市| 二连浩特市| 嫩江县| 汕头市| 石泉县| 无棣县| 靖江市| 永德县| 务川| 社旗县| 阿荣旗| 阳泉市| 二连浩特市|