pgsql 如何手动触发归档
方法:
pg10.0之前:
select pg_switch_xlog();
pg10.0之后:
select pg_switch_wal();
备注:执行 pg_switch_xlog() 后,WAL 会切换到新的日志,这时会将老的 WAL日志归档。
除了手动触发归档,还有什么情况下,pg会进行归档?
两种情况:
①WAL 日志写满后触发归档。
wal日志被写满后会触发归档,wal日志默认是16MB,这个值可以在编译PostgreSQL时通过参数"--with-wal-segsize"设置,编译后不能修改。
②archive_timeout时间控制。
可以设置archive超时参数 archive_timeout ,假如设置archive_timeout=60,那么每 60s , 会触发一次 WAL 日志切换,同时触发日志归档,这里有个隐含的假设: 当前 WAL 日志中仍有未归档的WAL。
补充:postgresql开启归档日志
步骤一:
修改postgresql的配置文件(postgresql.conf)
wal_level=hot_standby archive_mode =on archive_command ='DATE=`date +%Y%m%d`;DIR="/home/postgres/arch/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f'
ps:%p 是指相对路径 %f是指文件名
步骤二:
创建归档路径
mkdir -p /home/postgres/arch chown -R postgres:postgres /home/postgres/arch
步骤三:
重启数据库
步骤四:
验证归档是否正常
postgres=# checkpoint; CHECKPOINT postgres=# select pg_switch_xlog(); pg_switch_xlog ---------------- 1/760000E8 (1 row) postgres@ubuntu:~$ cd /home/postgres/data/data_1999/arch/ postgres@ubuntu:~/data/data_1999/arch$ ls 20150603 postgres@ubuntu:~/data/data_1999/arch$ cd 20150603/ postgres@ubuntu:~/data/data_1999/arch/20150603$ ls 000000010000000100000074 000000010000000100000075 000000010000000100000076
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
使用postgresql 模拟批量数据插入的案例
创建表: CREATE TABLE t_test( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); 模拟批量插入: insert into t_test SELECT generate_series(1,5000000) as key,repeat( chr(int4(random()*26)+65),4), (random()*(6^2))::
-
PostgreSQL归档配置及自动清理归档日志的操作
在一般的生产环境中,数据库都需要开启归档模式,那么在pg中如何开启归档模式呢? pg中的归档配置涉及几个参数如下: # - Archiving - 是否开启归档 #archive_mode = off # enables archiving; off, on, or always # (change requires restart) 归档命令,注意 %p %f %% 格式化的含义. %p 是被归档的redo文件的路径, %f 是被归档的redo文档的文件名 %% 是百分号 #archive_c
-
PostgreSQL 启动失败的解决方案
环境 Red Hat CloudForms 4.x 问题 postgresql 启动失败,并导致evmserverd崩溃. [----] I, [2016-11-29T03:12:31.816753 #1201:e4f994] INFO -- : MIQ(PostgresAdmin.runcmd_with_logging) Running command... service rh-postgresql94-postgresql start [----] E, [2016-11-29T03:12
-
postgreSQL数据库默认用户postgres常用命令分享
1.修改用户postgres的密码 #alter user postgres with password 'xxxx';(其中xxxx是修改的密码). 2.查看下当前schema的所有者: // 查看当前schema的所有者,相当于\du元命令 SELECT n.nspname AS "Name", pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner" FROM pg_catalog.pg_namespace n WHE
-
解决postgresql无法远程访问的情况
今天刚入手这个数据库玩玩,发现无法通过IP去访问数据库,后面查询原因为,该数据库默认只能通过本地连接,也就是回环地址(127.0.0.1) 解决方案: 1.修改安装目录下的data\pg_hba.conf,在配置文件最后有IPV4和IPV6的配置,新增一行(这里我用的IPV4,开放所有IP) host all all 0.0.0.0/0 md5 说明: 该配置为允许所有IP访问,下面有对应的一些配置示例提供参考 32 -> 192.168.1.1/32 表示必须是来自这个IP地址的访问才合法:
-
postgresql连续归档及时间点恢复的操作
简介 前面我们介绍了通过pgsql的流复制在生产环境中搭建高可用环境来保证服务的可持续性:我们也要对数据库进行周期备份,来防止数据的丢失,这就需要连续归档,它不仅可以用于大型数据库的增量备份和恢复,也可以用于搭建standby镜像备份. PostgreSQL默认处于非归档模式.开启归档模式,主要涉及到三个参数:wal_level,archive_mode和archive_commandwal_level参数默认为mininal,设置此参数为archive或者之上的级别都可以打开归档.当po
-
pgsql 如何手动触发归档
方法: pg10.0之前: select pg_switch_xlog(); pg10.0之后: select pg_switch_wal(); 备注:执行 pg_switch_xlog() 后,WAL 会切换到新的日志,这时会将老的 WAL日志归档. 除了手动触发归档,还有什么情况下,pg会进行归档? 两种情况: ①WAL 日志写满后触发归档. wal日志被写满后会触发归档,wal日志默认是16MB,这个值可以在编译PostgreSQL时通过参数"--with-wal-segsize"
-
js 绑定带参数的事件以及手动触发事件
1.html代码 复制代码 代码如下: <div> <div id="tab"> <h2>标题一</h2> <h2>标题二</h2> <h2>标题三</h2> <h2>标题四</h2> div> <dl id="tabcon"> <dd>内容一</dd> <dd>内容二</dd> &
-
js 触发select onchange事件代码
select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件, 例如,在页面加载完成以后,需要触发一个onChange事件,在js中用document.getElementById("province").value="湖北";直接给select或text赋值是不行的,要想实现手动触发onchange事件,需要在js给select赋值后,加入下面的
-
不要使用jQuery触发原生事件的方法
JavaScript 框架提供了如此多的功能,以至于一不小心就会掉进坑里去. 对工具库依赖得越多,在修改或维护时一个小小的改的很可能就会影响到其他的功能(俗称 处处是地雷,走路需谨慎),特别是维护多年前的遗留代码时. 我经常看到的一个错误是关于 jQuery的 trigger, trigger允许开发者手动触发某些事件. 这个功能真的非常强大与好用,但是请遵守约定,不要触发JS中那些原生的事件名称! 注:我知道,其他JS框架也提供这种功能 -- 我只用jQuery作为一个例子,因为我看到了它的受
-
js触发select onchange事件的小技巧
select 或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件, 例如,在页面加载完成以后,需要触发一个onChange事件,在js中用document.getElementById("province").value="湖北";直接给select或text赋值是不行的,要想实现手动触发onchange事件,需要在js给select赋值后,加入下面的
-
基于element-ui组件手动实现单选和上传功能
前言 在用户使用过程中提出一键导入的功能,需求如下:点击导入按钮显示提示框,然后是单选框以及上传按钮.pc端常使用element-ui组件,但是这个项目是vue1的老项目,并且没有element-ui组件.所以需要自己动手实现单选功能和上传功能. radio 属性及方法 name: 用于定义同一类型的 radio 同一 name 的 radio 只能选中一个(单选实现) id: 用于和 label 标签关联起来 实现点击 label 标签内的元素也能选中 radio value:单选按钮的值,选
-
如何使用Spring Security手动验证用户的方法示例
1.概述 在这篇快速文章中,我们将 重点介绍如何以编程方式在Spring Security和Spring MVC中设置经过身份验证的用户 . 2. Spring Security 简而言之, Spring Security在ThreadLocal中保存每个经过身份验证的用户的主要信息 - 保存的是Authentication对象 . 为了构造和设置此Authentication对象, 通常我们需要使用Spring Security在标准身份验证上构建对象的相 同方法. 要让我们手动触发身份验证,
-
go:垃圾回收GC触发条件详解
版本: go version go1.13 darwin/amd64 在go源码runtime目录中找到gcTrigger结构体,就能看出大致调用的位置 GC调用方式 所在位置 代码 定时调用 runtime/proc.go:forcegchelper() gcStart(gcTrigger{kind: gcTriggerTime, now: nanotime()}) 分配内存时调用 runtime/malloc.go:mallocgc() gcTrigger{kind: gcTriggerHe
-
谈论Go 什么时候会触发 GC问题
目录 1.什么是 GC 2.为什么要 GC 3.GC 触发场景 3.1系统触发 3.2手动触发 3.3 基本流程 3.4 在哪触发 4.监控线程 5.堆内存申请 在早期经常遭到唾弃的就是在垃圾回收(下称:GC)机制中 STW(Stop-The-World)的时间过长.那么这个时候,我们又会好奇一点,作为 STW 的起始,Go 语言中什么时候才会触发 GC 呢? 1.什么是 GC 在计算机科学中,垃圾回收(GC)是一种自动管理内存的机制,垃圾回收器会去尝试回收程序不再使用的对象及其占用的内存. 最
随机推荐
- 分布式Hibernate search详解
- 优化提高VMware虚拟机运行速度的技巧(详细图文教程)
- php中HTTP_REFERER函数用法实例
- VBS教程:属性-DateLastAccessed 属性
- PHP中几种常见的超时处理全面总结
- cakephp2.X多表联合查询join及使用分页查询的方法
- PHP中实现crontab代码分享
- Python常用列表数据结构小结
- Python中对象迭代与反迭代的技巧总结
- asp获取数据库中表名和字段名的代码
- C#实现HTTP下载文件的方法
- Python实现图片转字符画的示例代码
- JS请求servlet功能示例
- jQuery+css实现的换页标签栏效果
- jQuery CSS3相结合实现时钟插件
- Html5的placeholder属性(IE兼容)实现代码
- 点击显示指定元素隐藏其他同辈元素的方法
- 实例详解Java中如何对方法进行调用
- android 大图片拖拽并缩放实现原理
- PHP数组操作类实例