DB開發之postgresql

一、環境變量配置:
PGLIB=/usr/local/pgsql/lib
PGDATA=$HOME/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PGLIB PGDATA PATH MANPATH
 
二、啓動與關閉
/usr/local/pgsql/bin/pg_ctl -D /home/postgre/data start
./pg_ctl -D /opt/postgresql/data/ -l logfile start
 
三、關閉postgres全部服務進程: killall postgres;
 
 
四、設置密碼:
ALTER USER postgres WITH PASSWORD '123456';
 
 
五、外網訪問設置:
 
(1)、
vi postgresql.conf
#listen_addresses = 'localhost'
改成
listen_addresses = '*'
(2)、
vi pg_hba.conf
添加
host    all         all         0.0.0.0/0      md5
(3)
重啓數據庫服務器
pg_ctl restart;
六、備份和還原
備份:
pg_dump -D -h localhost -U postgres database_name >/root/peter/db_sql.sql;
導出PostgreSQL數據庫中的數據:
$ pg_dump -U postgres -d mydatabase -f mydatabase.sql
七、還原:
psql -h localhost -U database_name<db_sql.sql;
 
導入數據時首先建立數據庫再用psql導入:
$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql
 
八、建立用戶和刪除用戶
createuser -P -d -a -e edc;
dropuser edc;
 
九、設置監聽自啓動
vim /etc/rc.d/rc.local
su -c '/opt/postgresql/bin/pg_ctl start -D /opt/postgresql/data -l /opt/postgresql/bin/logfile' postgres
或者
su -m postgres -c '/opt/postgresql/bin/postmaster -D /opt/postgresql/data &'
 
十、設置防火牆對某個端口可訪問
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (設置端口可訪問)
/etc/rc.d/init.d/iptables save  (保持配置)
/etc/init.d/iptables restart   (重啓防火牆)
/etc/init.d/iptables status  (查看狀態)
chkconfig –level 35 iptables off(永久關閉防火牆)
 
也能夠直接修改
/etc/sysconfig/iptables
加入
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
 
 
 
 
 
安裝和配置PostgreSQL:
 
安裝postgresql8.3.5
./configure
gmake
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql   edc < mct.sql
 
啓動PostSQL:
1.service postgresql start //若出錯,要首先執行service postgresql initdb,而後再start  使數據庫隨系統啓動:
1.chkconfig postgresql on  配置數據庫自啓動
 
vim /var/lib/pgsql/data/pg_hba.conf,註釋全部行,而後添加以下行:
host all all 0.0.0.1/0 md5
 
vim /var/lib/pgsql/data/postgresql.conf,
 
vi postgresql.conf
#listen_addresses = 'localhost'
改成
listen_addresses = '*'
 
一、環境變量配置:
PGLIB=/usr/local/pgsql/lib
PGDATA=$HOME/data
PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PGLIB PGDATA PATH MANPATH
 
二、啓動與關閉
/usr/local/pgsql/bin/pg_ctl -D /home/postgre/data restart
./pg_ctl -D /opt/postgresql/data/ -l logfile start
 
三、關閉postgres全部服務進程: killall postgres;
 
 
四、設置密碼:
ALTER USER postgres WITH PASSWORD '123456';
 
 
五、外網訪問設置:
 
(1)、
vi postgresql.conf
#listen_addresses = 'localhost'
改成
listen_addresses = '*'
(2)、
vi pg_hba.conf
添加
host    all         all         0.0.0.0/0      md5
(3)
重啓數據庫服務器
pg_ctl restart;
六、備份和還原
備份:
pg_dump -D -h localhost -U postgres database_name >/root/peter/db_sql.sql;
導出PostgreSQL數據庫中的數據:
$ pg_dump -U postgres -d mydatabase -f mydatabase.sql
七、還原:
psql -h localhost -U database_name<db_sql.sql;
 
導入數據時首先建立數據庫再用psql導入:
$ createdb newdatabase
$ psql -d newdatabase -U postgres -f mydatabase.sql
 
八、建立用戶和刪除用戶
createuser -P -d -a -e edc;
dropuser edc;
 
九、設置監聽自啓動
vim /etc/rc.d/rc.local
su -c '/opt/postgresql/bin/pg_ctl start -D /opt/postgresql/data -l /opt/postgresql/bin/logfile' postgres
或者
su -m postgres -c '/opt/postgresql/bin/postmaster -D /opt/postgresql/data &'
 
十、設置防火牆對某個端口可訪問
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT (設置端口可訪問)
/etc/rc.d/init.d/iptables save  (保持配置)
/etc/init.d/iptables restart   (重啓防火牆)
/etc/init.d/iptables status  (查看狀態)
chkconfig –level 35 iptables off(永久關閉防火牆)
 
也能夠直接修改
/etc/sysconfig/iptables
加入
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
 
 
 
 
第一步 :建立超級用戶
>createuser -U postgres -s -P -e sa
 
說明:
 
   -U postgres  使用 postgres 用戶 建立一個超級用戶 sa 
 
   -s  表示建立的是超級用戶
 
   -P  表示要設置密碼
 
   -e  表示命令進行回顯
 
 
第二步:建立數據庫
createdb -p 5432 -e -U sa mydb
-p 表示鏈接端口 5432
 
-e 表示命令進行回顯
 
-U 建立數據庫的用戶名 是sa
 
mydb  數據庫的名字
 
 
第三步:鏈接數據庫:
psql -p 5432 -U sa -d mydb
 
 
 
-p 表示鏈接端口 5432
 
-d mydb 鏈接數據庫 mydb
 
-U 鏈接數據庫的用戶名是sa
 
 
 
第四步:建立表
psql -p 5432 -U sa -d mydb -f ./mysql.sql
 
 
 
-p 表示鏈接端口 5432
 
-U 表的全部者是sa
 
-d mydb 鏈接數據庫 mydb
 
 
 
 
 
-----mysql.sql----------------
 
CREATE TABLE mytable
(
  username text NOT NULL,
  id integer,
  CONSTRAINT mytable_pkey PRIMARY KEY (username)
)
WITH (OIDS=FALSE);
ALTER TABLE mytable OWNER TO sa;
相關文章
相關標籤/搜索