Ubuntu PostgreSQL數據庫服務器啟動
想知道到Ubuntu PostgreSQL系統的真相么,想知道Ubuntu PostgreSQL系統中藏有的內在奧義么,只有我來給大家全面講解介紹Ubuntu PostgreSQL系統Ubuntu PostgreSQL是現在比較流行的數據庫之一,這個起源于伯克利(BSD)的數據庫研究計劃目前已經衍生成一項國際開發項目,并且有非常廣泛的用戶。據我了解國內四大國產數據庫,其中三個都是基于Ubuntu PostgreSQL開發的。
并且,因為許可證的靈活,任何人都可以以任何目的免費使用,修改,和分發 Ubuntu PostgreSQL, 不管是私用,商用,還是學術研究使用。本文只是簡單介紹一下Ubuntu PostgreSQL的安裝和簡單的使用,語法方面涉及的比較少,以方便新手上路為目的。
1.系統環境和安裝方法 ;
Ubuntu PostgreSQL的安裝方法比較靈活,可以用源碼包安裝,也可以用您使用的發行版所帶的軟件包來安裝,還可以采用在線安裝……
1.1 系統環境:Ubuntu Linux 7.04 ;Fedora;Slackware;
1.2 安裝;Ubuntu下安裝軟件其實很簡單,
用新立得軟件包管理器搜索psql便能查到Ubuntu PostgreSQL-client-8.2(同時可以搜到8.1版本,哪一個都可以),選中-應用即可?;蛘咴诮K端下輸入 xiaop@localhost$ sudo apt-get install Ubuntu PostgreSQL-8.2 Slackware下安裝:
請到 linuxpackages.net 上查找您所用系統的對應版本,用pkginstall 來安裝,或您安裝slap-get 工具,在線自動安裝;要用到root權限,可以通用sudo。關于su和sudo的參考;《Linux 系統中的超級權限的控制》 安裝Ubuntu PostgreSQL的軟件包,可用下面的辦法 ;
xiaop@localhost# pkginstall post*.tgz或xiaop@localhost# slapt-get --install Ubuntu PostgreSQL-8.2.4在Fedora中,您可以用軟件包在線安裝工具來安裝注:這樣就安裝好了Ubuntu PostgreSQL 8.2了,該安裝將自動創建一個缺省的數據庫集群(pgsqldb.org中的譯法)“main”,且生成一個數據庫超級用戶postgres。
2. 啟動Ubuntu PostgreSQL 數據庫服務器;
2.1 在流行Linux發行版的啟動方法;
在Ubuntu系統中,服務器啟動腳本放在 /etc/init.d目錄中,您可以用下面的方法來啟動,對于Fedora和Gentoo 也是類似的;
- xiaop@localhost~# /etc/init.d/Ubuntu PostgreSQL-8.2 start 注:啟動;
- xiaop@localhost~# /etc/init.d/Ubuntu PostgreSQL-8.2 restart 注:重啟;
- xiaop@localhost~# /etc/init.d/Ubuntu PostgreSQL-8.2 stop 注:停止;
- xiaop@localhost~# /etc/init.d/Ubuntu PostgreSQL-8.2 status 注:查看狀態;
在Slackware中,Ubuntu PostgreSQL的啟動腳本放在 /etc/rc.d目錄中,如果您用從linuxpackages.net 上下載的軟件包或在線安裝的軟件包; xiaop@localhost~# /etc/rc.d/rc.postgres start 如果您用源碼包編譯安裝,啟動Ubuntu PostgreSQL,請查看Ubuntu PostgreSQL官方文檔;
2.2 關于 Ubuntu PostgreSQL啟動和存儲目錄;
啟動Ubuntu PostgreSQL服務器時,一般是以postgres 用戶來啟動的,自編譯安裝的除外;對于數據庫的存儲一般是放在/var/lib中的相關目錄,比如 /var/lib/pgsql或 /var/lib/Ubuntu PostgreSQL/8.2/main/ 目錄等;不同的發行版可能不太一樣,不過還是大同小異,您可以通過修改數據存儲位置把數據庫存在其它地方;
3.創建用戶
添加用戶命令格式。createuser 是 SQL 命令 CREATE USER的封裝。命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主機名] [-p port] 用戶名 參數說明:
- [-a]:允許創建其他用戶,相當于創建一個超級用戶;
- [-A]:不允許此用戶創建其他用戶;
- [-d]:允許此用戶創建數據庫;
- [-D]:不允許此用戶創建數據庫;
- [-e]:將執行過程顯示到Shell上;
- [-P]:創建用戶時,同時設置密碼;
- [-h 主機名]:為某個主機上的Postgres創建用戶;
- [-p port]:與-h參數一同使用,指定主機的端口。
3.1添加用戶;
3.1.1不帶參數的創建用戶;
- xiaop@localhost~$ createuser testuser
- Shall the new user be allowed to create databases? (y/n) n --------是否可以創建數據庫:否
- Shall the new user be allowed to create more new users? (y/n) n ---------是否可以創建新用戶:否
- CREATE USER
注:不帶參數創建用戶時,Postgres會詢問此用戶的權限,上面的例子創建了一個普通用戶;
3.1.2 為指定的主機和端口上創建用戶 ;
- xiaop@localhost~$ createuser -h 172.28.18.51 -p 5000 -D -A -e testuser
- CREATE USER joe NOCREATEDB NOCREATEUSER;
- CREATE USER
注:這個命令為主機172.28.18.51的5000端口創建用戶testuser, 此用戶不可以創建數據庫和其他用戶。
3.1.3創建超級用戶;
- xiaop@localhost~$ createuser -P -d -a -e testuser
- Enter password for new user: testuser
- Enter it again: testuser
- CREATE USER joe PASSWORD 'testuser' CREATEDB CREATEUSER;
- CREATE USER
注:這個命令在本地創建一個超級用戶(-a),可以創建數據庫(-d), 同時要求設置密碼。
3.2 刪除用戶:
- 命令:dropuser [-i] [-h] [-p] [-e] 用戶名 參數說明:
- [ -i]:刪除用戶前,要求確認;
- [-h 主機名]:刪除某個主機上的Postgres用戶;
- [-p port]:與-h參數一同使用,指定主機的端口;
- [-e]:將執行過程顯示到Shell上。
3.2.1 刪除本地的Postgres用戶;
- xiaop@localhost~$ dropuser testuser
- DROP USER
3.2.2 刪除遠程Postgres服務器上的用戶;
- xiaop@localhost~$ dropuser -p 5000 -h 172.28.18.51 -i -e testuser
- User "testuser" and any owned databases will be permanently deleted.
- Are you sure? (y/n) y
- DROP USER "testuser"
- DROP USER
注:此命令刪除主機172.28.18.51(-h)的5000端口(-p)的用戶testuser,并且需要確認(-i);
4. 創建和刪除數據庫;
4.1創建數據庫
看看您能否訪問數據庫服務器的***個例子就是試著創建一個數據庫;要創建一個新的數據庫,在我們這個例子里叫 mydb,您可以使用下面的命令: xiaop@localhost~$ createdb mydb它應該生成下面這樣的響應: CREATE DATABASE如果這樣,那么這一步就成功了,如果您看到類似下面這樣的信息 createdb: command not found那么就是Ubuntu PostgreSQL沒有安裝好,要么是就根本沒裝上;
您還可以用其它名字創建數據庫。 Ubuntu PostgreSQL 允許您在一個節點上創建任意數量的數據庫。 數據庫名必須是以字母開頭并且小于 63 個字符長。 一個方便的做法是創建和您當前用戶名同名的數據庫。 許多工具假設該數據庫名為缺省數據庫名,所以這樣可以節省您的敲鍵。 要創建這樣的數據庫,只需要鍵入 : xiaop@localhost~$ createdb
4.2 刪除數據庫
如果您再也不想使用您的數據庫了,那么您可以刪除它。 比如,如果您是數據庫 mydb 的所有人(創建人), 那么您就可以用下面的命令刪除它:xiaop@localhost~$ dropdb mydb注:(對于這條命令而言,數據庫名不是缺省的用戶名。這樣您就必須聲明它。) 這個動作物理上將所有與該數據庫相關的文件都刪除并且不可取消, 因此做這件事之前一定要想清楚;
5.訪問數據庫
一旦您創建了數據庫,您就可以訪問它,您可以運行Ubuntu PostgreSQL交互的終端程序,叫psql,它允許您交互地輸入,編輯,和執行 SQL 命令。(圖形化登錄請參見6. Ubuntu PostgreSQL圖形化管理工具pgAdmin3)
5.1 激活數據庫
您需要啟動psql,試驗剛才的例子。您可以用下面的命令為 mydb 數據庫激活它: xiaop@localhost~$ psql mydb如果您省略了數據庫名字,那么它缺省就是您的用戶賬號名字。
- Welcome to psql 8.2.4, the Ubuntu PostgreSQL interactive terminal.
- Type: \copyright for distribution terms
- \h for help with SQL commands
- \? for help with psql commands
- \g or terminate with semicolon to execute query
- \q to quit
- mydb=# 注:***一行 mydb=#,這個提示符意味著您是數據庫超級用戶。
5.2 幫助和退出數據庫
psql 程序有一些不屬于 SQL 命令的內部命令。 它們以反斜杠開頭,"\"。 有些這種命令在歡迎信息中列出。比如,您可以用下面的命令獲取各種Ubuntu PostgreSQL SQL 命令的幫助語法:mydb=> \h要退出 psql,鍵入mydb=> \q然后 psql 就會退出并且給您返回到命令行 shell; (要獲取更多有關內部命令的信息,您可以在 psql 提示符上鍵入 \?。)
6. Ubuntu PostgreSQL圖形化管理工具pgAdmin3 ;版本:Version1.4.3
6.1 安裝;
6.1.1 Ubuntu安裝 ;
有兩種方法: 1.在新立得軟件包管理器中搜索pgadmin3,找到pgadmin3--應用 2.終端下輸入命令:xiaop@xiaop-laptop:~$ sudo apt-get install pgadmin3
6.1.2 其它系統的安裝;
您可以參考其它系統正常的軟件的安裝方法,起本類似,這里就不多做介紹了;
6.2 pgAdmin3的簡單使用;
圖形化管理系統相對比較直觀,您可以在命令行下操作,然后在pgAdmin3下查看效果;
6.2.1 pgAdmin3的啟動
您可以在應用程序---系統工具中找到pgAdmin3的啟動項;也可以在命令行下輸入:xiaop@xiaop-laptop:~$ /usr/bin/pgadmin3 start
6.2.2 連接已創建的數據庫mydb ;
點擊檔案-----新增服務器,然后在跳出的窗口下輸入:點擊確定后大家便可以查看postsql已有的數據庫了;
注:pgAdmin3的數據庫和終端下創建的數據庫是完全同步的(可以用刷新查看效果), pgAdmin3是比較方便的圖形化管理工具,它可以創建圖表,管理數據庫等,有關pgAdmin3的詳細介紹我們在以后討論,本文主要介紹命令行下的操作。圖形化管理工具能做到的命令行都可以做到,您可以在命令行下創建表,在pgAdmin3上查看是否同步: 7. 創建和刪除表;
【編輯推薦】