Ubuntu安裝、使用postgresql數據庫mysql
$ sudo apt-get install postgresql (端口爲5432)sql
$ sudo apt-get install postgresql-contrib (這個主要是爲了生成oid2name)數據庫
$ sudo passwd postgres (postgres帳號的家目錄爲:/var/lib/postgresql)ide
安裝postgres圖形化客戶端post
$ sudo apt-get install pgadmin3 (調用直接在命令行裏輸入pgadmin3便可)spa
postgres的主要配置文件命令行
/etc/postgresql/9.1/main/下的pg_hba.conf(鏈接數據庫的身份驗證方式)和postgresql.conf(數據庫的rest
配置文件) (建議修改前都備份下)postgresql
postgresql的bin命令路徑:orm
/usr/lib/postgresql/9.1/bin
默認不寫絕對路徑沒法調用,可作下軟連接:
# ln -s /usr/lib/postgresql/9.1/bin/* /usr/bin/ (有些原本就有,無所謂的)
# mkdir -p /home/postgresql/data (也可不調,默認路徑爲:/var/lib/postgresql/9.1/main/base)
# chown postgres:postgres /home/postgresql/data
# su postgres
$ initdb -D /home/postgresql/data
數據庫存放路徑:/home/postgresql/data/base (這裏顯示的是數據庫名的OID)
如要查看OID對應的數據庫名,在base目錄下執行oid2name便可
開啓postgresql log
# vi /home/postgresql/data/postgres.conf (log部分默認均爲註釋)
按a或i進入編輯模式
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log' (絕對路徑爲:/var/lib/postgresql/9.1/main/)
log_filename = 'postgresql-%y-%m-%d_%H%M%S.log'
log_rotation_size = 10MB
按Esc鍵退出編輯模式
:wq (保存並退出)
容許從其它主機進行登陸:
# vi /home/postgresql/data/pg_hba.conf
按a或i進入編輯模式
host all all 10.0.0.3/32 md5 (md5爲須要密碼,trust爲不須要密碼)
按Esc鍵退出編輯模式
:wq (保存並退出)
其它主機登陸:
# psql -h 10.0.0.2 -p 5432 mingdb ming
啓動、關閉postgresql
# service postgresql restart (-D的方法啓動的話就只能殺進程了)
$ postgres -D /home/postgresql/data (關閉可用kill)
或
$ pg_ctl -D /home/postgresql/data start (關閉是stop)
注:啓動後如需作其餘操做建議另外打開個窗口(如ctrl+z的話會形成psql沒法登錄)
在postgres帳號命令行下操做步驟以下:
建立帳號
$ createuser -A -D -P -R user1
密碼
建立帳號方法2:
$ createuser user1 with password '****'
修改帳號密碼命令:
$ alter user1 password 'xxxx'
刪除帳號:
$ dropuser user1
注:
-A 不容許建立其餘用戶
-D 不容許建立數據庫
-P 建立密碼
-R 不容許建立角色
建立數據庫ming
$ createdb ming
刪除數據庫ming
$ dropdb ming
進入數據庫ming
$ psql ming
進入後界面以下
ming=#
在數據庫下操做步驟以下:
$ psql -U postgres (在postgres帳號下可直接psql)
爲postgres帳號設置密碼(注意區分系統帳號postgres和數據庫裏postgres帳號):
postgres=# \password postgres
密碼
建立帳號
postgres=# create user "ming" with password '123456' nocreatedb;
創建數據庫並指定owner
postgres=# create database "mingdb" with owner="ming";
\l:列出已有數據庫的Owner,Encoding等信息
\c 數據庫名:切換數據庫
\d:查看當前數據庫中已有的表
\d 表名:查看錶結構
\du:列出全部用戶
\q:退出
查看數據表內容(同mysql):
select * from aa;