{"id":257,"date":"2024-10-08T16:55:30","date_gmt":"2024-10-08T08:55:30","guid":{"rendered":"http:\/\/www.bigqq.com\/?p=257"},"modified":"2025-11-07T10:03:28","modified_gmt":"2025-11-07T02:03:28","slug":"pg%e6%95%b0%e6%8d%ae%e5%ba%93-%e5%a4%87%e4%bb%bd%e8%bf%98%e5%8e%9f%e5%b7%a5%e5%85%b7pgbackrest","status":"publish","type":"post","link":"http:\/\/www.bigqq.com\/?p=257","title":{"rendered":"PG\u6570\u636e\u5e93 \u5907\u4efd\u8fd8\u539f\u5de5\u5177pgbackrest"},"content":{"rendered":"\n<p>\u5b89\u88c5\u5305\uff1asudo apt-get install pgbackrest<\/p>\n\n\n\n<p>\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff1avim \/etc\/pgbackrest.conf<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;global]\n#\u5907\u4efd\u6587\u4ef6\u5b58\u653e\u5730\u5740\nrepo1-path=\/mesdata\/pgbackrest\n#\u4fdd\u7559\u5168\u5907\u6570\u91cf\nrepo1-retention-full=2\n#\u4fdd\u7559\u5dee\u5f02\u5907\u4efd\u6570\u91cf\nretention-diff=6\n#\u5feb\u901f\u542f\u52a8\nstart-fast=y\n#\u68c0\u6d4b\u5230\u6709\u5176\u5b83\u8fdb\u7a0b\u65f6\uff0c\u81ea\u52a8\u505c\u6b62\u672c\u6b21\nstop-auto=y\n#\u65e5\u5fd7\u5730\u5740\nlog-path=\/var\/log\/pgbackrest\n#\u914d\u7f6e\u5f02\u6b65\u5f52\u6863\narchive-async=y\n#\u4fdd\u5b58\u5f53\u524dwal\u7684\u5f52\u6863\u72b6\u6001\nspool-path=\/var\/spool\/pgbackrest\n\nrepo1-retention-history=0\n\n&#91;MES2_DB]\npg1-path=\/mesdata\/pgdata\/postgresql\/16\/main<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539\u6587\u4ef6\u5939\u6743\u9650\uff0c\u7ed9postgres\u7528\u6237<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 777 \/var\/log\/pgbackrest\nsudo chown postgres:postgres \/var\/log\/pgbackrest\nchown -Rf postgres:postgres  \/tmp\/pgbackrest\/<\/code><\/pre>\n\n\n\n<p>\u4fee\u6539&nbsp;\/etc\/postgresql\/16\/main\/postgresql.conf<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>archive_command = 'pgbackrest --config=\/etc\/pgbackrest.conf --stanza=MES2_DB archive-push %p'\n\n\u4fee\u6539\u540e\u4f7f\u7528DBA\u7528\u6237\u6267\u884c\u751f\u6548\u914d\u7f6e\uff1aselect pg_reload_conf();<\/code><\/pre>\n\n\n\n<p>\u4f7f\u7528postgres\u7528\u6237\u521d\u59cb\u5316pgbackrest<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pgbackrest --stanza=MES2_DB --log-level-console=info stanza-create\n\npgbackrest --stanza=MES2_DB --log-level-console=info check<\/code><\/pre>\n\n\n\n<p>\u5907\u4efd\u547d\u4ee4<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5b8c\u5168\u5907\u4efd\npgbackrest --stanza=test --log-level-console=info backup --type=full\n\n\u589e\u5907\npgbackrest pgbackrest --stanza=test --log-level-console=info backup --type=incr\n\n\u5dee\u5f02\u5907\u4efd\npgbackrest pgbackrest --stanza=test --log-level-console=info backup --type=diff<\/code><\/pre>\n\n\n\n<p>\u6062\u590d\u6570\u636e\u5e93\uff1apgbackrest &#8211;stanza=mydb &#8211;type=immediate restore<\/p>\n\n\n\n<p>\u5b9a\u65f6\u4efb\u52a1cron<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u5b89\u88c5\uff1aapt install cron\n\u914d\u7f6e\uff1acrontab -e\n0 2 * * 0 pgbackrest backup --config=\/etc\/pgbackrest.conf --stanza=MES2_DB --type=full  --log-level-console=info --process-max=4  --start-fast\n0 2 * * 1-2 pgbackrest backup --config=\/etc\/pgbackrest.conf --stanza=MES2_DB --type=diff  --log-level-console=info --process-max=4  --start-fast\n0 2 * * 3 pgbackrest backup --config=\/etc\/pgbackrest.conf --stanza=MES2_DB --type=full  --log-level-console=info --process-max=4  --start-fast\n0 2 * * 4-6 pgbackrest backup --config=\/etc\/pgbackrest.conf --stanza=MES2_DB --type=diff  --log-level-console=info --process-max=4  --start-fast<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>pgbackrest\u547d\u4ee4\u53c2\u6570\nlog-level-console - \u65e5\u5fd7\u90e8\u5206\u5b9a\u4e49\u4e86\u4e0e\u65e5\u5fd7\u8bb0\u5f55\u76f8\u5173\u7684\u8bbe\u7f6e\noff - \u5b8c\u5168\u4e0d\u8bb0\u5f55\uff08\u4e0d\u63a8\u8350\uff09\nerror - \u4ec5\u8bb0\u5f55\u9519\u8bef\nwarn - \u8bb0\u5f55\u8b66\u544a\u548c\u9519\u8bef\ninfo - \u8bb0\u5f55\u4fe1\u606f\u3001\u8b66\u544a\u548c\u9519\u8bef\ndetail - \u8bb0\u5f55\u8be6\u7ec6\u4fe1\u606f\u3001\u4fe1\u606f\u3001\u8b66\u544a\u548c\u9519\u8bef\ndebug - \u8bb0\u5f55\u8c03\u8bd5\u3001\u8be6\u7ec6\u4fe1\u606f\u3001\u4fe1\u606f\u3001\u8b66\u544a\u548c\u9519\u8bef\ntrace - \u8bb0\u5f55\u8ddf\u8e2a\uff08\u975e\u5e38\u8be6\u7ec6\u7684\u8c03\u8bd5\uff09\u3001\u8c03\u8bd5\u3001\u4fe1\u606f\u3001\u8b66\u544a\u548c\u9519\u8bef\nprocess-max - \u6bcf\u4e2a\u8fdb\u7a0b\u90fd\u4f1a\u6267\u884c\u538b\u7f29\u548c\u4f20\u8f93\u4ee5\u4f7f\u547d\u4ee4\u8fd0\u884c\u5f97\u66f4\u5feb\uff0c\u914d\u7f6eCPU\u6838\u5fc3\u6570\u7684\u4e00\u822c\u3002\ntype - \u5168\u5907\u4efdfull\u3001\u589e\u91cf\u5907\u4efdincr\u3001\u5dee\u5f02\u5907\u4efddiff\ncompress - compress-level=0 \u5173\u95ed\u538b\u7f29\u5907\u4efd\uff0c\u9ed8\u8ba4\u5f00\u542f\u3002\nstart-fast - \u5f3a\u5236\u5728\u5feb\u901f\u5907\u4efd\u7684\u65f6\u5019\u4f7f\u7528\u68c0\u67e5\u70b9\u3002\u5426\u5219\uff0c\u5907\u4efd\u5c06\u5728\u4e0b\u4e00\u4e2a\u5e38\u89c4\u68c0\u67e5\u70b9\u4e4b\u540e\u542f\u52a8\u3002<\/code><\/pre>\n\n\n\n<p>\u5f02\u673a\u5168\u5907\u8fd8\u539f<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\u9700\u8981\u62f7\u8d1d\u5168\u5907\u76ee\u5f55\uff0c\u5982\/var\/lib\/pgbackrest\/backup\/MES2_DB\n\u5982\u6587\u4ef6\u592a\u5927\uff0c\u53ef\u4ee5\u53ea\u62f7\u8d1d\u6700\u65b0\u5168\u5907\uff0c\u4f46\u8981\u548c backup.history  backup.info  backup.info.copy\u4e00\u8d77\u62f7\u8d1d\uff0c\u53ef\u80fd\u9700\u8981\u4fee\u6539backup.info\u7684backup:current\u3001backrest-checksum\uff1b\u4fee\u6539\u5168\u5907\u4e0b\u7684backup.manifest  backup.manifest.copy\u7684backup-label\u3001backup-reference\u3001backrest-checksum\n\n\u505c\u6b62 systemctl stop postgresql\n\u6e05\u7a7a\/var\/lib\/postgresql\/13\/main\npostgres\u8d26\u6237\u6267\u884cpgbackrest --stanza=MES2_DB --type=immediate restore\n<em>pgbackrest restore --config=\/etc\/pgbackrest.conf --stanza=MES2_DB --delta --type=time --target='2022-06-02 15:43:00' --log-level-console=info<\/em>\n\n\u5220\u9664recovery.signal \u91cd\u547d\u540dback_label\n\u547d\u4ee4\u8def\u5f84export PATH=$PATH:\/usr\/lib\/postgresql\/13\/bin\n\u6267\u884cpg_resetwal -D \/path\/to\/data\/directory -f\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5b89\u88c5\u5305\uff1asudo apt-get ins [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/posts\/257"}],"collection":[{"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=257"}],"version-history":[{"count":10,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/posts\/257\/revisions"}],"predecessor-version":[{"id":386,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=\/wp\/v2\/posts\/257\/revisions\/386"}],"wp:attachment":[{"href":"http:\/\/www.bigqq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bigqq.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}