安裝
1、下載postgresql最新版:http://www.postgresql.org/ftp/source/
2、解壓文件:
tar zxvf postgresql-8.3.7.tar.gz
cd postgresql-8.3.7
3、配置:
./configure --prefix=/usr/local/pgsql
4、編譯:
make
5、安裝:
make install
6、創建用戶組和用戶:
groupadd postgres
useradd -g postgres postgres
7、創建數據庫庫文件存儲目錄、給postgres賦予權限:
mkdir /usr/local/pgsql/data
cd /usr/local/pgsql
chown postgres.postgres data
8、初始化數據庫目錄:
切換用戶
su - postgresql
初始化數據
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
啓動數據庫
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
9、配置監聽地址和端口:
vi /usr/local/pgsql/data/postgresql.conf
修改
listen_addresses = '*'
port = 5432
10、允許遠程連接:
vi /usr/local/pgsql/data/pg_hba.conf
修改
host all all 0.0.0.0/0 trust
配置iptables讓遠程主機能訪問:
vi /etc/sysconfig
添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
service iptables restart
11、讓postgresql數據庫隨系統啓動而啓動:
將啓動腳本拷貝到/etc/init.d/目錄下,具體執行如下命令:
cd /etc/rc.d/init.d
cp (第一步解壓的安裝文件目錄)/postgresql-8.3.7/contrib/start-scripts/linux postgresql
chmod +x postgresql
vi postgresql
prefix=/usr/local/pgsql
PGDATA="/usr/local/pgsql/data"
PGUSER=postgres
PGLOG="/var/log/pgsql.log"
chkconfig --add postgresql
啓動數據庫:
service postgresql start
手動啓動關閉:
su - postgres
pg_ctl start -D /usr/local/pgsql/data -o -i
pg_ctl stop -D /usr/local/pgsql/data -o -i
pg_ctl restart -D /usr/local/pgsql/data -o -i
psql 使用
[test@test bin]$ ./psql -n dbname -U usrname
stay81=# select count(*) from table1;
count
-------
5986
(1 row)
// 退出,使用結束後退出,不然連接一直被掛起
stay81=# /q
數據備份還原
// postgres 數據導出
[postgres@test bin]$ ./pg_dump -U postgres -t testTable -d testDB > testTable.dump
// postgres 數據導入
[postgres@test bin]$ ./psql -U postgres -d testDB < testTable.dump
// postgres 數據導出
[postgres@test bin]$ ./pg_dump -U postgres -d stay81 -t item_search -F c -v > item_search.dump
// postgres 數據導入
[postgres@test bin]$ ./pg_restore -U postgres -d testDB < testTable.dump
// 一臺主機上將數據庫目錄轉儲到另一臺主機上
pg_dump -h host1 -p post1 dbname | psql -h host2 -p post1 dbname
./pg_dump -U postgres -d testDB1 -t testTable | ./psql -U postgres -d testDB2