亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

PostgreSQL服務(wù)器啟動(dòng)及關(guān)閉方法

時(shí)間:2023-03-18 22:37:37 IBM認(rèn)證 我要投稿
  • 相關(guān)推薦

PostgreSQL服務(wù)器啟動(dòng)及關(guān)閉方法

  PostgreSQL采用C/S(客戶機(jī)/服務(wù)器)模式結(jié)構(gòu)。應(yīng)用層通過INET或者Unix Socket利用既定的協(xié)議與數(shù)據(jù)庫服務(wù)器進(jìn)行通信。下面yjbys小編為大家搜集相關(guān)的PostgreSQL服務(wù)器啟動(dòng)及關(guān)閉方法!

PostgreSQL服務(wù)器啟動(dòng)及關(guān)閉方法

  1. 啟動(dòng)數(shù)據(jù)庫服務(wù)器(posgres用戶):

  [postgres@localhost bin]$ postgres -D /opt/postgresql/data/ > /opt/postgresql/log/pg_server.log 2>&1 &

  [1] 4508

  當(dāng)然如果設(shè)置了環(huán)境變量

  PGDATA=/opt/postgresql/data

  export PGDATA

  后,可使用pg_ctl工具進(jìn)行啟動(dòng):

  [postgres@localhost log]$ pg_ctl start -l /opt/postgresql/log/pg_server.log

  pg_ctl: another server might be running; trying to start server anyway

  pg_ctl: could not start server

  Examine the log output.

  [postgres@localhost log]$

  因?yàn)橹耙呀?jīng)啟動(dòng),所以打印“another server might be running”。此時(shí),查看日志,有如下信息:

  [postgres@localhost log]$ cat pg_server.log

  FATAL: lock file "postmaster.pid" already exists

  HINT: Is another postmaster (PID 4491) running in data directory "/opt/postgresql/data"?

  [postgres@localhost log]$

  當(dāng)然,最簡的啟動(dòng)方式是:

  [postgres@localhost ~]$ pg_ctl start

  server starting

  [postgres@localhost ~]$ LOG: database system was shut down at 2011-07-09 13:58:00 CST

  LOG: autovacuum launcher started

  LOG: database system is ready to accept connections

  如果要在操作系統(tǒng)啟動(dòng)時(shí)就啟動(dòng)PG,可以在/etc/rc.d/rc.local 文件中加以下語句:

  /opt/postgresql/bin/pg_ctl start -l /opt/postgresql/log/pg_server.log -D /opt/postgresql/data

  2.關(guān)閉服務(wù)器

  最簡單方法:

  [postgres@localhost ~]$ pg_ctl stop

  waiting for server to shut down.... done

  server stopped

  與Oracle相同,在關(guān)閉時(shí)也可采用不同的模式,簡介如下:

  SIGTERM

  不再允許新的連接,但是允許所有活躍的會話正常完成他們的工作,只有在所有會話都結(jié)束任務(wù)后才關(guān)閉。這是智能關(guān)閉。

  SIGINT

  不再允許新的連接,向所有活躍服務(wù)器發(fā)送 SIGTERM(讓它們立刻退出),然后等待所有子進(jìn)程退出并關(guān)閉數(shù)據(jù)庫。這是快速關(guān)閉。

  SIGQUIT

  令 postgres 向所有子進(jìn)程發(fā)送 SIGQUIT 并且立即退出(所有子進(jìn)程也會立即退出),而不會妥善地關(guān)閉數(shù)據(jù)庫系統(tǒng)。這是立即關(guān)閉。這樣做會導(dǎo)致下次啟動(dòng)時(shí)的恢復(fù)(通過重放 WAL 日志)。我們推薦只在緊急的時(shí)候使用這個(gè)方法。

  SIGKILL

  此選項(xiàng)盡量不要使用,這樣會阻止服務(wù)器清理共享內(nèi)存和信號燈資源,那樣的話你只能在啟動(dòng)服務(wù)器之前自己手工做這件事。另外,SIGKILL 直接把 postgres 殺掉,而不會等它把信號中繼給它的子進(jìn)程,因此我們還需要手工殺掉每個(gè)獨(dú)立子進(jìn)程。

  使用方法舉例:

  [postgres@localhost ~]$ pg_ctl stop -o SIGTERM

  LOG: received smart shutdown request

  LOG: autovacuum launcher shutting down

  waiting for server to shut down....LOG: shutting down

  LOG: database system is shut down

  done

  server stopped

  [postgres@localhost ~]$

  最快速關(guān)閉方法:kill postgres 進(jìn)程

  [postgres@localhost ~]$ kill -INT `head -1 /opt/postgresql/data/postmaster.pid`

  [postgres@localhost ~]$ LOG: received fast shutdown request

  LOG: aborting any active transactions

  LOG: autovacuum launcher shutting down

  LOG: shutting down

  LOG: database system is shut down

  附:postgre啟動(dòng)后的進(jìn)程,如下:

  [postgres@localhost ~]$ ps -ef|grep post

  root 4609 4543 0 13:57 pts/2 00:00:00 su - postgres

  postgres 4610 4609 0 13:57 pts/2 00:00:00 -bash

  postgres 4724 1 0 14:08 pts/2 00:00:00 /opt/postgresql/bin/postgres

  postgres 4726 4724 0 14:08 ? 00:00:00 postgres: writer process

  postgres 4727 4724 0 14:08 ? 00:00:00 postgres: wal writer process

  postgres 4728 4724 0 14:08 ? 00:00:00 postgres: autovacuum launcher process

  postgres 4729 4724 0 14:08 ? 00:00:00 postgres: stats collector process

  postgres 4752 4610 0 14:11 pts/2 00:00:00 ps -ef

  postgres 4753 4610 0 14:11 pts/2 00:00:00 grep post

  [postgres@localhost ~]$


【PostgreSQL服務(wù)器啟動(dòng)及關(guān)閉方法】相關(guān)文章:

計(jì)算機(jī)啟動(dòng)與關(guān)閉類故障03-29

服務(wù)器常規(guī)維修與判斷方法03-10

java實(shí)現(xiàn)web服務(wù)器的方法03-30

電工常見電機(jī)啟動(dòng)方法08-07

scsi設(shè)置硬盤啟動(dòng)的方法07-07

機(jī)房服務(wù)器硬件維護(hù)方法大全03-07

服務(wù)器硬件管理和維護(hù)方法03-30

Linux系統(tǒng)守護(hù)進(jìn)程的啟動(dòng)方法12-15

顯示器啟動(dòng)黑屏的檢查方法10-07

php在服務(wù)器執(zhí)行exec命令失敗的解決方法-php技巧08-21