亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PostgreSQL關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的三種模式

 更新時(shí)間:2024年07月11日 10:07:26   作者:不剪發(fā)的Tony老師  
PostgreSQL 提供了三種關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的不同方式,它們最終都是發(fā)送一個(gè)關(guān)閉信號(hào)到 postgres 主服務(wù)進(jìn)程,本文將給大家詳細(xì)的介紹一下這三種模式,需要的朋友可以參考下

PostgreSQL 提供了三種關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的不同方式,它們最終都是發(fā)送一個(gè)關(guān)閉信號(hào)到 postgres 主服務(wù)進(jìn)程。

智能關(guān)閉模式

智能關(guān)閉(Smart Shutdown)模式向 postgres 主服務(wù)進(jìn)程發(fā)送一個(gè) SIGTERM 信號(hào)。此時(shí)服務(wù)器不允許新的客戶(hù)端連接,同時(shí)等待已有會(huì)話(huà)正常完成工作。當(dāng)所有會(huì)話(huà)都主動(dòng)終止連接之后關(guān)閉服務(wù)。如果數(shù)據(jù)庫(kù)服務(wù)正在執(zhí)行恢復(fù)操作時(shí)發(fā)送了關(guān)閉命令,恢復(fù)操作和流復(fù)制都會(huì)等待所有常規(guī)會(huì)話(huà)終止后停止。

使用 pg_ctl 工具關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的命令如下:

$ pg_ctl stop -m smart

其中,-m 參數(shù)用于指定關(guān)閉模式,smart 表示智能模式。

PostgreSQL 智能關(guān)閉模式類(lèi)似于 Oracle 數(shù)據(jù)庫(kù)中的正常關(guān)閉(shutdown normal)模式。

快速關(guān)閉模式

快速關(guān)閉(Fast Shutdown)模式對(duì)應(yīng)的信號(hào)為 SIGINT。此時(shí)服務(wù)器不允許新的客戶(hù)端連接,同時(shí)向所有的服務(wù)進(jìn)程發(fā)送 SIGTERM 信號(hào),回滾進(jìn)行中的事務(wù)并且強(qiáng)制斷開(kāi)所有客戶(hù)端的連接,然后關(guān)閉數(shù)據(jù)庫(kù)。

使用 pg_ctl 工具快速關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的命令如下:

$ pg_ctl stop -m fast

$ pg_ctl stop

其中,fast 表示快速模式,它也是默認(rèn)模式。

PostgreSQL 快速關(guān)閉模式類(lèi)似于 Oracle 數(shù)據(jù)庫(kù)中的立即關(guān)閉(shutdown immediate)模式。

立即關(guān)閉模式

第三種模式是立即關(guān)閉(Immediate Shutdown),對(duì)應(yīng)的系統(tǒng)信號(hào)為 SIGQUIT。

主服務(wù)器進(jìn)程向所有的子進(jìn)程發(fā)送 SIGQUIT 信號(hào),如果 5 秒內(nèi)子進(jìn)程沒(méi)有終止,繼續(xù)發(fā)送立即終止的 SIGKILL 信號(hào)。當(dāng)所有子進(jìn)程退出后,主服務(wù)進(jìn)程立即終止,不會(huì)執(zhí)行常規(guī)的數(shù)據(jù)庫(kù)關(guān)閉流程。這種模式會(huì)導(dǎo)致下一次啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)時(shí)需要執(zhí)行恢復(fù)操作(重做 WAL 日志),只推薦在緊急情況下使用。

使用 pg_ctl 工具立即關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的命令如下:

$ pg_ctl stop -m immediate

其中,immediate 表示立即模式。

PostgreSQL 快速關(guān)閉模式類(lèi)似于 Oracle 數(shù)據(jù)庫(kù)中的立即關(guān)閉(shutdown abort)模式。

注意事項(xiàng)

三種關(guān)閉模式中,智能模式最安全,能夠確保數(shù)據(jù)的完整性和一致性;但是這種模式可能耗時(shí)較長(zhǎng),因?yàn)樗枰却蛻?hù)端主動(dòng)斷開(kāi)連接??焖倌J娇赡軐?dǎo)致事務(wù)的中斷,但不會(huì)導(dǎo)致數(shù)據(jù)不一致,優(yōu)點(diǎn)在于速度較快,一般情況下推薦使用這種模式。 立即模式速度最快,但是可能會(huì)導(dǎo)致數(shù)據(jù)不一致,再次啟動(dòng)時(shí)可以通過(guò) WAL 日志回放恢復(fù)到一致?tīng)顟B(tài),只有在緊急情況或者其他模式無(wú)法關(guān)閉時(shí)推薦使用。

除了 Windows 之外的其他操作系統(tǒng)也可以直接使用 kill 命令發(fā)送信號(hào)關(guān)閉數(shù)據(jù)庫(kù),例如:

$ kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`

postmaster.pid 文件中存儲(chǔ)了主服務(wù)進(jìn)程(postgres)的 PID。

不建議使用 SIGKILL 信號(hào)關(guān)閉服務(wù),這種方式會(huì)阻止服務(wù)釋放共享內(nèi)存和信號(hào)量。而且,這種方式終止主服務(wù)器進(jìn)程時(shí)不會(huì)發(fā)送信息到子進(jìn)程,因此還需要手動(dòng)關(guān)閉每個(gè)子進(jìn)程。

Oracle 數(shù)據(jù)庫(kù)還支持一種事務(wù)關(guān)閉(shutdown transactional)模式,不允許新客戶(hù)連接,但是會(huì)等待進(jìn)行中的事務(wù)完成提交后斷開(kāi)客戶(hù)端連接,然后關(guān)閉數(shù)據(jù)庫(kù)。PostgreSQL 沒(méi)有這種對(duì)應(yīng)的關(guān)閉模式。

到此這篇關(guān)于PostgreSQL關(guān)閉數(shù)據(jù)庫(kù)服務(wù)的三種模式的文章就介紹到這了,更多相關(guān)PostgreSQL關(guān)閉數(shù)據(jù)庫(kù)服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • postgresql 中round函數(shù)的用法說(shuō)明

    postgresql 中round函數(shù)的用法說(shuō)明

    這篇文章主要介紹了postgresql 中round函數(shù)的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql高級(jí)應(yīng)用之行轉(zhuǎn)列&匯總求和的實(shí)現(xiàn)思路

    postgresql高級(jí)應(yīng)用之行轉(zhuǎn)列&匯總求和的實(shí)現(xiàn)思路

    這篇文章主要介紹了postgresql高級(jí)應(yīng)用之行轉(zhuǎn)列&匯總求和的實(shí)現(xiàn)思路,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • 淺談PostgreSQL的客戶(hù)端認(rèn)證pg_hba.conf

    淺談PostgreSQL的客戶(hù)端認(rèn)證pg_hba.conf

    這篇文章主要介紹了淺談PostgreSQL的客戶(hù)端認(rèn)證pg_hba.conf,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql insert into select無(wú)法使用并行查詢(xún)的解決

    postgresql insert into select無(wú)法使用并行查詢(xún)的解決

    這篇文章主要介紹了postgresql insert into select無(wú)法使用并行查詢(xún)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • pgsql批量修改sequences的start方式

    pgsql批量修改sequences的start方式

    這篇文章主要介紹了pgsql批量修改sequences的start方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • PostgreSQL 數(shù)據(jù)庫(kù)跨版本升級(jí)常用方案解析

    PostgreSQL 數(shù)據(jù)庫(kù)跨版本升級(jí)常用方案解析

    這篇文章主要介紹了PostgreSQL 數(shù)據(jù)庫(kù)跨版本升級(jí)常用方案解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • postgresql 性能參數(shù)配置方式

    postgresql 性能參數(shù)配置方式

    這篇文章主要介紹了postgresql 性能參數(shù)配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL聚合函數(shù)的分組排序使用示例

    PostgreSQL聚合函數(shù)的分組排序使用示例

    這篇文章主要為大家介紹了PostgreSQL聚合函數(shù)的分組排序使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • PostgreSQL 數(shù)據(jù)庫(kù)性能提升的幾個(gè)方面

    PostgreSQL 數(shù)據(jù)庫(kù)性能提升的幾個(gè)方面

    PostgreSQL提供了一些幫助提升性能的功能。主要有一些幾個(gè)方面。
    2009-09-09
  • PostgreSQL常用優(yōu)化技巧示例介紹

    PostgreSQL常用優(yōu)化技巧示例介紹

    PostgreSQL的SQL優(yōu)化技巧其實(shí)和大多數(shù)使用CBO優(yōu)化器的數(shù)據(jù)庫(kù)類(lèi)似,因此一些常用的SQL優(yōu)化改寫(xiě)技巧在PostgreSQL也是能夠使用的。當(dāng)然也會(huì)有一些不同的地方,今天我們來(lái)看看一些在PostgreSQL常用的SQL優(yōu)化改寫(xiě)技巧
    2022-09-09

最新評(píng)論