
postgres
文章平均质量分 59
没有自制力的天蝎
这个作者很懒,什么都没留下…
展开
-
postgres_fdw的安装和使用
PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作,Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版。fdw是foreign-data wrapper的一个简称,可以叫外部封装数据,之前介绍过file_fdw,dblink。而postgres原创 2017-03-22 17:27:47 · 5810 阅读 · 0 评论 -
pgpool安装使用
下载地址:http://pgpool.net/mediawiki/index.php/Downloads 环境: 两台redhat linux 6.5 两台机器上均安装好pg(本机postgresql9.4.4) ip:data1 192.168.11.66 (主) pgpool安装在此机器上 data2 192.168.11.68 (备) 1、源码安装 [root@lo原创 2017-03-23 10:32:33 · 1133 阅读 · 0 评论 -
使用pg_upgrade升级pg数据库的大版本。
pg_upgrade 是 PostgreSQL 提供的一个大版本升级工具,例如将 PG 从版本 9.4 升级到 9.6, 可以跨多个大版本升级, 当然也可以用 pg_dump ,之后再 pg_restore 到新版本 PG 软件的方法, 当数据库比较大时,比如 1 TB 以上,pg_dump/pg_restore 的方法太费时了,这里介绍使用 pg_upgrade 将 PostgreSQL 版本原创 2017-03-30 14:20:07 · 3022 阅读 · 1 评论 -
关于current transaction is aborted, commands ignored until end of transaction block与ON_ERROR_ROLLBACK
原博客地址: http://blog.youkuaiyun.com/sinat_29742125/article/details/75356295psql相关的事务模式变量ON_ERROR_ROLLBACK, ON_ERROR_STOPpostgres=# \set ON_ERROR_ROLLBACK on如果开启ON_ERROR_ROLLBACK, 会在每一句SQL前设置隐形的savepoi转载 2017-07-19 16:19:35 · 6518 阅读 · 0 评论 -
postgresql遇到“Connection refused”和“No route to host”大概的解决方法
一般我们遇到这个问题的时候都是连接远程主机的时候,会出现这个报错psql: could not connect to server: connection refusedIs the server running on host "192.168.11.70" and accepting TCP/IP connections on port 5432? psql: could not c转载 2017-04-12 15:56:33 · 6141 阅读 · 0 评论 -
postgresql initdb过程中大体做了什么
1.创建pg的data主目录,以及其所有子目录 2.生成配置文件postgresql.conf 3.创建template1数据库 4.对template1数据库加载初始化数据 5.复制template1到template0数据库 6.复制template1到postgres数据库 原博客地址:http://blog.youkuaiyun.com/silenc转载 2017-09-15 11:02:34 · 1051 阅读 · 0 评论 -
postgresql减少wal日志生成量的方法
1、在繁忙的系统中,如果需要降低checkpoint发生的频率,减少WAL日志的生成量,减轻对系统IO的压力,可以通过以下两种方法。 1) 调整WAL segment大小,最高可以调整到64MB,不过只能通过编译来调整。对于已有系统不太方便; 2) 增大checkpoint_segments设置,使得checkpoint不会过于频繁地被触发; 2、在9.5中,checkpoint转载 2017-09-15 11:05:18 · 683 阅读 · 0 评论 -
rhcs+gfs2+corosync + pacemaker +postgres_streaming_replication
rhcs+gfs2+corosync + pacemaker +postgres_streaming_replication一、配置redhat 7.3 + gfs2共享文件系统,使两台或多台服务器对同一文件同时系统具有挂载及读写权限。供PG共享存储集群测试。1、搭建环境:操作系统版本:[root@hgdb1 pgsql]# uname -aLinux hgdb1 3.10.0-5原创 2017-09-15 11:09:57 · 1678 阅读 · 0 评论 -
如何遏制PostgreSQL WAL的疯狂增长
PostgreSQL在写入频繁的场景中,会产生大量的WAL日志,而且WAL日志量会远远超过实际更新的数据量。 我们可以把这种现象起个名字,叫做“WAL写放大”,造成WAL写放大的主要原因有2点。1. 在checkpoint之后第一次修改页面,需要在WAL中输出整个page,即全页写(full page writes)。全页写的目的是防止在意外宕机时出现的数据块部分写导致数据库无法恢复。2.转载 2017-09-26 17:18:30 · 2686 阅读 · 0 评论 -
postgresql 流复制切换
主备端:alter system set wal_log_hints = on;alter system set max_replication_slots = 10;SELECT * FROM pg_create_physical_replication_slot('node_a_slot');select slot_name,slot_type,active,active_pid,re原创 2017-10-27 11:19:43 · 834 阅读 · 0 评论 -
搭建pgpool+流复制
1、检查数据量大小和空间剩余量2、检查防火墙service iptables statusiptables: Firewall is not running.cat /etc/selinux/config SELINUX=disabledSetenforce 0setenforce: SELinux is disabled3、修改主端IP地址vi /etc/sysconfig/n原创 2017-10-27 11:25:01 · 1078 阅读 · 0 评论 -
pg_rman理解以及模拟过程
pg_rman使用的是pg_start_backup(), copy, pg_stop_backup()的备份模式。pg_rman跑的不是流复制协议,而是文件拷贝,所以pg_rman必须和数据库节点跑在一起。如果在standby节点跑pg_rman,pg_rman则需要通过网络连接到主节点执行pg_start_backup和pg_stop_backup。注意:pg_rman只从postgr转载 2017-03-23 10:34:52 · 2688 阅读 · 0 评论 -
pgbouncer安装练习
pgbouncer就是一连接池。现在有好多模块,plproxy,pgpool什么的,都有这功能。pgbouncer与之相比,最大的好处是简单,小型。如果不需要负载均衡什么的功能,用pgbouncer就足够了。PgBouncer的特点 a.内存消耗低(默认为2k/连接),因为Bouncer不需要每次都接受完整的数据包 b.可以把不同的数据库连接到一个机器上,而对客户端保持透明转载 2017-03-23 10:34:15 · 883 阅读 · 0 评论 -
pg中slony-i的数据同步配置
Linux下的 Postgresql的slony-i的数据同步配置1、安装slony(两台服务器都需要安装)去slony官网:http://www.slony.info/中下载合适的版本例如:slony1-2.1.4.tar.bz2解压:tar xvf slony1-2.1.4.tar.bz2编译方法分三步:./configure -with-perltoolsmakemake转载 2017-03-23 10:33:34 · 1422 阅读 · 0 评论 -
WAL日志归档以及什么情况下会触发归档?
所谓WAL日志归档,其实就是把在线的WAL日志备份出来。在pg中配置归档的方法就是配置参数archive_command,参数的配置值是一个Unix命令。此命令把WAL日志文档拷贝到其他的地方。例:archive_mode = on; //打开归档备份archive_command = 'cp %p /backup/pgarch/%f';原创 2017-03-22 15:34:06 · 1526 阅读 · 0 评论 -
postgres单机热备---物理备份
在线热备份(归档)(一)备份归档路径:/hgbackup/archivedir/PGDATA:/opt/pgsql-9.4.4/data/1、配置归档模式配置归档需要编辑postgresql.conf文件,默认在$PGDATA目录下vim $PGDATA/postgresql.confarchive_mode = onarchive_command = 'test ! -f /hg转载 2017-03-22 15:32:40 · 998 阅读 · 0 评论 -
postgres备份和恢复 ---逻辑备份
1、PostgreSQL为这个用途提供了pg_dump工具。 这条命令的基本用法是: pg_dump dbname > outfile从转储中恢复:psql dbname < infilepg_dump和psql可以通过管道读写,这样我们就可能从一台主机上将数据库转储到另一台主机上,比如: pg_dump -h host1 dbname | psql -h host2 dbnam原创 2017-03-22 15:31:30 · 588 阅读 · 0 评论 -
postgres在线增量备份与任意时间点恢复
转载自https://yq.aliyun.com/articles/59359冷备份, 以及逻辑备份都是某一个时间点的备份, 没有增量的概念.如果数据库在运行过程中发生故障, 使用逻辑备份只能将数据库还原到备份时刻, 无法恢复到故障发生前的那个时刻.又或者在使用过程中由于误操作修改或删除了重要数据, 需要还原到误操作前的那个时刻怎么办呢?使用冷备份加上有效的归档文件可以实现任意时间点的恢转载 2017-03-22 15:30:42 · 3448 阅读 · 2 评论 -
postgres因字符集原因无法正常显示中文
因字符集原因无法正常显示中文原因是客户端字符集和插入内容的字符集不匹配。PostgreSQL默认不做字符集转换,如果数据库是UTF8的字符集,一般终端的中文字符集会设置为GBK(可以看LANG环境变量确认),所以这个编码不经转换的存入数据库中,而数据库是UTF8的,PostgreSQL发现不是UTF8编码,就报上面的错。要想打开自动字符集转换功能,必须告诉 pg 客户端使用的字符集。这时可以设转载 2017-03-22 15:29:40 · 11567 阅读 · 0 评论 -
postgres 常用查询命令
查看等待事件SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event is NOT NULL;查看数据库对应的base下的目录:select oid,datname from pg_database ;看是否为备库:select pg_is_in_recovery();查看备库流复制原创 2017-03-22 15:28:26 · 5450 阅读 · 0 评论 -
红帽6.5未安装中文语言导致数据库乱码
由于某些原因系统安装时未安装中文支持,导致后续应用出现中文方块乱码现象,解决方法很简单,当然不是重装,只需以下三步即可搞定。1、安装中文包:#yum -y groupinstall chinese-support 安装所有与中文支持相关的包 2、修改字符编码配置文件# vi /etc/sysconfig/i18n修改后内容如下:LANG="zh_CN.UTF-8"SUPPOR转载 2017-03-03 13:49:04 · 879 阅读 · 0 评论 -
源代码安装pg 9.4
chkconfig iptables offservice iptables off修改系统时间1、下载源码解压tar jxvf postgresql-9.4.4.tar.bz2 或者tar zxvf postgresql-9.4.4.tar.gz将安装包传到系统中,目录最好是/opt2、创建安装的目录mkdir /opt/pgsql-9.4.43、进入解压后的原创 2017-02-20 15:54:01 · 550 阅读 · 0 评论 -
一部分关于pg的小知识
1、修改监听的IP和端口号 需要重启生效。在数据目录下编辑postgresql.conf文件,可以修改IP和端口号。2、logging_collector = on; 日志收集是否打开。 Syslogger(系统日志)进程3、log_directory = 'pg_log'; 日志的目录4、日志切换和覆盖的方式log_filename= 'postgresql-%Y-%m原创 2017-02-20 15:51:42 · 2415 阅读 · 0 评论 -
触发器问题
CREATE SEQUENCE sequencename [ INCREMENT increment ] -- 自增数,默认是 1 [ MINVALUE minvalue ] -- 最小值 [ MAXVALUE maxvalue ] -- 最大值 [ START start ] -- 设转载 2017-02-20 15:49:39 · 521 阅读 · 0 评论 -
PostgreSQL pg_current_xlog_insert_location()与pg_current_xlog_location()
PostgreSQL pg_current_xlog_insert_location()与pg_current_xlog_location() pg_current_xlog_insert_location指写入wal buffer的位置.pg_current_xlog_location返回已经write到wal文件的位置.我们来做个实验验证一下。查看目前两个函数结果是否相同。原创 2017-11-13 10:37:06 · 1467 阅读 · 0 评论