一.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