postgresql學習(二)

一.postgresql的啓動和關閉

#方式一:
#進入到postgres用戶
su - postgres
#啓動
pg_ctl stop -D /usr/local/pgsql/data/ > /tmp/psql.log 2>&1
#關閉 
pg_ctl stop -D /usr/local/pgsql/data/
#重啓
pg_ctl restart -D /usr/local/pgsql/data/ > /tmp/psql.log 2>&1 

#方式二
#不切換到postgres用戶
postgres -D /usr/local/pgsql/data/ > /tmp/psql.log 2>&1 &
#關閉
fg
crtl + c

二.配置文件常用參數配置

在你初始化一個數據簇的時候,會生成配置文件
/usr/local/pgsql/data/就是我的數據庫的數據簇,也可以看成是一個數據庫實例。

cd /usr/local/pgsql/data
vim postgresql.conf
#下面是相關的一些配置,都是默認值
listen_addresses = 'localhost' //監聽ip,*表示全部
port = 5432  //監聽端口
max_connections = 100  //最大連接數
superuser_reserved_connections = 3 //數據庫超級用戶連接數默認爲3
shared_buffers = 128MB   //共享的內存緩衝區量
temp_buffers = 8MB   //每個會話的臨時緩衝區量
fsync = on //開啓時,日誌文件先寫入磁盤,主要是保證了數據的穩定性
synchronous_commit = on //當wal完成之後才返回給用戶事務的狀態。

三.備份和恢復

方法一:
sql轉儲備份

類似於mysql的binlog,記錄下sql語句生成文件,恢復時再操作一遍sql語句。
缺陷:每次只轉儲一個數據庫,並不會轉儲關於角色或者表空間。

pg_dump -U postgres test > /tmp/test.sql
//pg_dump最好以超級用戶操作,因爲它需要備份庫或表的讀權限
-h:指定主機
-p:指定端口

轉儲恢復:

psql -U postgres test < /tmp/test.sql 
//這條命令不會先創建數據庫,所以執行前庫必須存在

備份和恢復到另一臺機器:

pg_dump -h 主機名 數據庫名 | psql -h 主機名2 數據庫名

方法二:
pg_dumpall
用法:

備份:
pg_dumpall -U postgres > /tmp/pg_all.bak

恢復:
psql -U postgres -f /tmp/pg_all.bak postgres
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章