把pgboucer做成postgresql服務

2022-01-21 20:47:07 字數 3260 閱讀 5499

把pgbouncer啟動命令加入到postgresql服務配置裡面。這樣方便操作

vi /etc/init.d/postgresql

加入如下紅色命令。路徑換成你的pgbouncer安裝目錄

case $1

instart)

echo -n "

starting postgresql:

"test -e "

$pg_oom_adjust_file

" && echo

"$pg_master_oom_score_adj

" > "

$pg_oom_adjust_file

"su - $pguser -c "

$daemon_env $daemon -d '$pgdata' &

" >>$pglog 2>&1

su - $pguser -c "

/路徑/pgbouncer/bin/pgbouncer -d /路徑/pgbouncer/conf/pgbouncer.ini

" echo"ok

";;stop)

echo -n "

stopping postgresql:

"su - $pguser -c "

$pgctl stop -d '$pgdata' -s -m fast

"pkill -9 pgbouncer

echo"ok

";;restart)

echo -n "

restarting postgresql:

"su - $pguser -c "

$pgctl stop -d '$pgdata' -s -m fast -w

"test -e "

$pg_oom_adjust_file

" && echo

"$pg_master_oom_score_adj

" > "

$pg_oom_adjust_file

"su - $pguser -c "

$daemon_env $daemon -d '$pgdata' &

" >>$pglog 2>&1

su - $pguser -c "/路徑/pgbouncer/bin/pgbouncer -d /路徑/pgbouncer/conf/pgbouncer.ini"

echo"ok

";;reload)

echo -n "

reload postgresql:

"su - $pguser -c "

$pgctl reload -d '$pgdata' -s

"echo"ok

";;status)

su - $pguser -c "

$pgctl status -d '$pgdata'

";;

加入後。以後重啟伺服器。postgresql服務啟動後。然後 pgbouncer也啟動了。

好這裡我們測試下

[root@iz236bfrzgoz pgbouncer]# vi /etc/init.d/postgresql

[root@iz236bfrzgoz pgbouncer]# ps -ef|grep pgbouncer

postgres 6625 1 0 20:35 ? 00:00:00 /alidata/local/pgbouncer/bin/pgbouncer -d /alidata/local/pgbouncer/conf/pgbouncer.ini

root 18568 29466 0 21:05 pts/1 00:00:00 grep --color=auto pgbouncer

[root@iz236bfrzgoz pgbouncer]# pkill -9 pgbouncer

[root@iz236bfrzgoz pgbouncer]# ps -ef|grep pgbouncer

root 18674 29466 0 21:05 pts/1 00:00:00 grep --color=auto pgbouncer

[root@iz236bfrzgoz pgbouncer]# service postgresql start

starting postgresql: 2016-11-04 21:05:17.651 18772 log file descriptor limit: 65535 (h:65535), max_client_conn: 1000, max fds possible: 1190

2016-11-04 21:05:17.652 18772 log stale pidfile, removing

ok[root@iz236bfrzgoz pgbouncer]# ps -ef|grep pgbouncer

postgres 18789 1 0 21:05 ? 00:00:00 /alidata/local/pgbouncer/bin/pgbouncer -d /alidata/local/pgbouncer/conf/pgbouncer.ini

root 18917 29466 0 21:05 pts/1 00:00:00 grep --color=auto pgbouncer

[root@iz236bfrzgoz pgbouncer]#

這裡能看到pgbouncer被強制結束掉後,我們用servcie postgresql start  命令啟動,pgbouncer也啟動了,開啟資料庫。能正常開啟

以上紅色命令可以換成如下命令進行 postgresql+pgbouncer服務管理

檢測配置檔案

/usr/local/pgbouncer/bin/pgbouncer -v /data/pgbouncer/pgbouncer.ini

啟動:/usr/local/pgbouncer/bin/pgbouncer -d /data/pgbouncer/pgbouncer.ini

重啟:/usr/local/pgbouncer/bin/pgbouncer -r -d /data/pgbouncer/pgbouncer.ini  【慎用,吃過一次虧,它會自動把userlist.txt刪掉後再啟動,然後導致程式連不上資料庫】

停止:psql -p 6432 pgbouncer -h 127.0.0.1 -u postgres-c 'shutdown'  【這裡會要求密碼,如果圖方便把密碼也加上,但是不安全】

載入配置:

psql -p 6432 pgbouncer -h 127.0.0.1 -u postgres -c 'reload'  【這裡會要求密碼】

把當前ubuntu系統做成映象

systemback是乙個很好的備份還原軟體。用它還可以生成自己的linux系統映象檔案,所以我們這裡使用systemback來製作ubuntu的映象檔案。在開始之前我們先update以下自己的ubuntu,確保沒啥問題 sudo apt get update接下來安裝systemback sudo...

cmd 把tooltip做成符合cmd規範

給屬性賦值 把傳入的屬性值和預設屬性值進行合併 function assignattribute tooltipobj,obj 1 把預設屬性值賦給tmpobj for let key in defaultobj 2 把傳來的屬性值賦給tmpobj for let key in obj 給toolt...

linux 把可執行程式做成乙個服務

linux 把可執行程式做成乙個服務 把可執行程式做成乙個服務 在linux系統啟動的時候,我們可以看到很多服務性程式乙個接乙個的被啟動 就是那些後面有乙個蘭色 ok 的行 這些在後台執行的程式為我們使用計算機起了很重要的作用,以這種方式執行的程式有以下特點 開機啟動,關機停止 廢話!關機了還執行啊...