GB | BIG5
|
| 首頁 > 數據庫 > 其它 > 正文 |
 |
| PostgreSQL7.0手冊-教程 -71. 開始 |
| 編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 23:42:54) |
第七十一章. 開始
內容
設置你的運行環境
運行SQL界面(psql)
管理數據庫
新的 Postgres 用戶如何開始工作的內容.
某些使用 Postgres 所需要的步驟可以由任何 Postgres 用戶執行, 而另外一些步驟就必須由節點數據庫管理員執行.這個數據庫管理員就是安裝該軟件,創建數據庫目錄並啟動postmaster 進程的人.這個人不必是 UNIX 超級用戶(“root”)或計算機系統管理員;一個人可以在沒有任何特殊帳號或權限的情況下安裝和使用Postgres.
如果你自己安裝 Postgres ,請參閱管理員手冊中的安裝指導,安裝完成再回到本手冊.
在這本手冊裡,任何以字符“%”開頭的例子都應該在 UNIX shell 命令行上輸入的命令.任何以字符 “*”開頭的例子都是 Postgres 查詢語言-Postgres SQL 的例子.
設置你的運行環境
本節討論如何設置你的運行環境,以便運行你的前端應用.我們假設你已經成功安裝並運行了Postgres;關如何安裝 Postgres 請參閱管理員手冊.
Postgres 是一個client/server 應用軟件.作為用戶,你只需要訪問安裝的客戶端部分(一個客戶端應用的例子就是 SQL 界面 psql).為了簡單起見,我們假設 Postgres 裝在 /usr/local/pgsql目錄下.因此,當你看到 /usr/local/pgsql 目錄時,你應該把它替換成 Postgres 安裝的實際目錄. 所有 Postgres 命令都裝在 /usr/local/pgsql/bin 目錄下.因此,你應該把這個目錄加入你的 shell 命令路徑(PATH)裡.如果你使用csh或tcsh,你應該加入下面一行:
% set path = ( /usr/local/pgsql/bin path )
到你的家目錄的 .login 文件裡面去.如果你使用 Bourne shell 變種,如 sh,ksh,或bash,你應該加入
% PATH=/usr/local/pgsql/bin:$PATH
% export PATH
到你的家目錄中的 .profile 文件中去.從現在開始,我們假設你已經把 Postgres 的二進制目錄加入到你的路徑裡去了.另外,我們在本文檔中將經常使用“設置 shell 變量” 或 “設置環境變量”這些字眼.如果你還不太明白上一段關修改你的搜索路徑的描述,請先參考UNIX的手冊頁中關你用的shell的文檔,然再往下讀.
如果節點數據庫管理員並沒有按缺省的方式設置數據庫,那你還有一些事情要做.比如,如果數據庫服務器是一台遠程的機器,你需要設置PGHOST 環境變量為數據庫服務器的機器名. 環境變量 PGPORT可能也需要設置,最一招:如果當你試著啟動一個應用而該應用報告說不能與postmaster 建立聯接時, 你應該馬上與你的數據庫管理員聯系以確保你正確地設置了環境變量.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
啟動 SQL 界面(psql)
假設你的數據庫管理員已經成功地運行了postmaster 並且給你了使用數據庫的權限,你(作為一個用戶)就可以運行應用了.我們前面已經提到過,你應該將/usr/local/pgsql/bin 加入到你的搜索路徑中去.在大多數情況下,這是你在準備階段所要做的所有工作.
我們支持兩種不同的聯接方式.數據庫管理員將選擇是否允許TCP/IP網絡聯接或是只允許本地(同一台機器)的socket(套接字)聯接.這種選擇在你與數據庫聯接碰到問題時就特別重要了.T
如果你在執行 Postgres 命令(如 psql 或 createdb)時碰到下面的錯誤輸出:
% psql template1
Connection to database 'postgres' failed.
connectDB() failed: Is the postmaster running and accepting connections
at 'UNIX Socket' on port '5432'?
或
% psql -h localhost template1
Connection to database 'postgres' failed.
connectDB() failed: Is the postmaster running and accepting TCP/IP
(with -i) connections at 'localhost' on port '5432'?
錯誤的原因通常是
postmaster 沒有運行,或
你連錯了服務器主機.
如果錯誤信息象下面這樣:
FATAL 1:Feb 17 23:19:55:process userid (2360) != database owner (268)
表明數據庫管理員用錯誤的用戶啟動了 postmaster .告訴他以Postgres超級用戶身份重起.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
管理數據庫
現在Postgres 已經裝好並運行起來了,我們就可以創建一些數據庫來做一些實驗.我們通過這種方法來描述如何管理數據庫的基本命令。
大多數 Postgres 應用假定你的數據庫名(如果沒有指明的話)就是你的計算機用戶名.
如果你的數據庫管理員給你的數據庫帳號沒有創建數據庫的權限,那她應該告訴你你的數據庫名.如果是這樣,你可以略過創建和刪除數據庫的章節.
創建數據庫
假設你想創建一個叫 mydb 的數據庫.你可以用如下命令來創建:
% createdb mydb
如果你沒有創建數據庫的權限,你會看到如下的信息:
% createdb mydb
WARN:user "your username" is not allowed to create/destroy databases
createdb: database creation failed on mydb.
Postgres 允許你在一個節點上創建任意多個數據庫,並且你將自動成為你所創建的數據庫的管理員.數據庫名必須以字母開頭並且小32個字符長.並不是每個用戶都能成為數據庫管理員.如果Postgres拒絕為你創建數據庫.你應該向節點數據庫管理員請求給予創建數據庫的權限.出現這種情況時請與你的節點管理員聯系。
訪問數據庫
一旦你建好了一個數據庫,你可以通過下面手段訪問它:
運行 Postgres 的終端監控程序(如 psql),你可以交互地輸入,編輯和運行SQL 命令.
使用現有的本地前端工具,比如 pgaccess 或 ApplixWare (通過 ODBC)來創建和操作數據庫.
使用一種具有支持 Postgres 接口的語言,如 perl 或 tcl.這些語言中有些還有一些非常方便和強大的 GUI 工具,這些工具可以幫你構造客戶應用.我們上面說的 pgaccess,就是一個用 tk/tcl 寫的類似工具的例子.
寫一個 使用 LIBPQ 庫的 C 程序. 你便可以在C裡面提交一個 SQL 命令並且在程序裡面得到結果和狀態的響應. 這些接口將在程序員手冊裡進一步討論。
你可以運行 psql,試一下本手冊裡的例子.你可以用下面命令激活 mydb 數據庫:
% psql mydb
將提示下面的問候信息:
Welcome to the POSTGRESQL interactive sql monitor:
Please read the file COPYRIGHT for copyright terms of POSTGRESQL
type \? for help on slash commands
type \q to quit
type \g or terminate with semicolon to execute query
You are currently connected to the database: template1
mydb=>
這個命令提示符表明終端監控器正等候你的輸入,你可以向由終端監控器維護的工作區鍵入SQL 查詢. psql 對由反斜槓開頭的字符進行轉義,“\” 比如你可以通過鍵入下面字符獲得各種 PostgresSQL 命令的語法幫助:
mydb=> \h
一旦你完成了向工作區的查詢輸入,你可以鍵入下面字符把工作區的內容提交給Postgres 服務進程:
mydb=> \g
T這句話告訴服務進程執行查詢.如果你以分號結束你的查詢,“\g” 可以不輸入. psql 將自動處理分號結尾的查詢.如果從一文件中讀取查詢,比如說從 myFile,鍵入:
mydb=> \i fileName
從 psql 退出到 UNIX,鍵入
mydb=> \q
psql 將退出到命令行.(有關更多轉義符的信息,在監控器提示符下鍵入 \h .)空白(如,空格,制表符和新行)可在 SQL查詢裡自由使用.單行注釋使用 "--".在 "--"面該行的所有內容都將被忽略.多行注釋使用 "/* ... */".
刪除數據庫
如果你是數據庫mydb 的管理員,你可以用下面UNIX命令刪除該數據庫:
% dropdb mydb
這個命令物理上刪除所有與該數據庫關聯的UNIX文件,這個動作是不可逆的,因而執行這個動作之前一定要三思而行.
--------------------------------------------------------------------------------
(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)
|
===更多相關=== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |