• Postgresql 基于时间点恢复


    编辑修改postgresql.conf

    #日志级别
    wal_level = replica

    #归档模式
    archive_mode = on

    archive_mode参数有3种模式:
    off:关闭归档
    on:开启归档,但不允许在recovery模式下进行归档
    always:开启归档,且允许在recovery模式下进行归档

    #归档wal命令
    archive_command = 'cp %p /postgres_archive_data/archive_data/%f && echo %p >> /postgres_archive_data/archive_log/archive.list && echo %f >> /postgres_archive_data/archive_log/archive.list'

    pg会启动一个辅助进程,作用是实时监控事务日志,发现能归档的日志则会通过用户设置的archive_command参数中的命令进行归档。归档命令可以很自由地被指定,一般是cp或者加上压缩命令,如果设置该参数,或者命令有错误,则无法真正归档。

    %p:源文件路径
    %f:源文件名
     

    archive_timeout参数
           如果只在日志切换时归档,假如在日志段未满时宕机,则归档日志会缺失一部分,可能造成数据丢失。另外,如果业务写请求较少,日志可能长期不归档。此时,可以通过archive_timeout参数设置超时强制归档,提高归档频率。

           注意,每次日志切换时,即使未写满日志大小依然是16M,因此该参数如果设置太小,可能导致归档过于频繁并且大量浪费空间。
    理解:归档文件最小值就是16M,不设置archive_timeout参数,写满16M以上时,才会生成归档文件,如果数据操作少的话,设置了此参数,就会在超过这个时间就生成归档文件,并且归档文件最小是16M.

    #WAL日志占用空间大小

    #PostgreSQL13版本后,wal_keep_segments参数废弃了,由wal_keep_size替代此参数

    wal_keep_segments
    查看pg_wal目录下所能保留的过去日志文件段的最小数目,建议设置大于等于4096,防止全量备份完成之后由于源实例wal日志被移除导致需要重新备份。

    说明

    适用于PostgreSQL 10、11、12。
    SHOW wal_keep_segments;

    wal_keep_size

    查看pg_wal目录下所能保留的过去日志文件段的最小大小,建议设置大于等于64 GB,防止全量备份完成之后由于源实例wal日志被移除导致需要重新备份。

    说明
    适用于PostgreSQL 13、14和15。
    SHOW wal_keep_size;

    wal_keep_size = 2048

    重启postgresql

    查看归档目录
    ls /postgres_archive_data/archive_data/

    如果目录中没有文件,执行以下sql后再查看

    -- 手动切WAL日志
    SELECT pg_switch_wal();
     

    -----------------------------------------------------------

    进行数据库备份.

    pg_basebackup -Ft -Pv -Xs -z -D -Z5 -h '' -p -U -W

    backupdir

    导出的备份文件路径。系统会自动创建目录,但是如果该目录已经存在且不为空,则会报错。

    hostname

    RDS PostgreSQL实例连接地址。

    如果相同账号内的ECS实例和RDS实例处于相同地域,且网络类型相同(都为VPC时则必须处于同一个VPC),建议使用内网连接地址。

    其他情形建议使用外网连接地址。

    说明
    通过外网连接地址访问RDS实例,需要实例已申请外网连接地址。详情请参见申请或释放外网地址。

    port

    RDS PostgreSQL实例端口。

    username

    RDS PostgreSQL实例账号名称。
     

  • 相关阅读:
    【HarmonyOS】解决API6 WebView跳转外部浏览器问题、本地模拟器启动黑屏
    Numpy使用
    Java Dalesbred库访问数据库
    Bard人工智能9月19日重大更新
    cobol-简介
    爬虫之Scrapy框架
    接口自动化测试框架搭建全部过程
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    【Spring Boot | 第一篇】Spring Boot 原理
    django+drf+vue 简单系统搭建 (4) 用户权限
  • 原文地址:https://blog.csdn.net/st780206/article/details/137142337