<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DB_su的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DB_su</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DB_su]]></copyright><item><title><![CDATA[postgresql 查看锁的sql]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78673298</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78673298</guid><author>DB_su</author><pubDate>Thu, 30 Nov 2017 10:38:56 +0800</pubDate><description><![CDATA[SELECT locker.pid,  
        pc.relname,  
        locker.mode,  
        locker_act.application_name,  
        least(query_start,xact_start) start_time,  
        locker_act.state,  
        C]]></description><category></category></item><item><title><![CDATA[PostgreSQL 只读模式 , hot standby recovery 模式]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78655763</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78655763</guid><author>DB_su</author><pubDate>Tue, 28 Nov 2017 15:39:30 +0800</pubDate><description><![CDATA[背景有些时候，我们可能需要将数据库变成只读模式，或者提供一些只读账号。比如需要给开发人员一些自由查询功能的账号，或者当数据库用了多少空间后，将其锁定为只读模式。让数据库进入只读有几种方法，
弱只读的方法，设置默认事务为只读，这种方法只能实现弱只读，因为用户可以在会话中改成写模式。
进入recovery模式，并开启hot_standby。
如果要让某个用户只读，建议使用权限控制的方法，比如只赋予sel]]></description><category></category></item><item><title><![CDATA[PostgreSQL pg_dump&psql 数据的备份与恢复]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78491273</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78491273</guid><author>DB_su</author><pubDate>Thu, 09 Nov 2017 16:36:20 +0800</pubDate><description><![CDATA[Usage: 
  pg_dump [OPTION]… [DBNAME] 数据库名放最后，不指定默认是系统变量PGDATABASE指定的数据库。General options:(一般选项)-f, –file=FILENAME          output file or directory name导出后保存的文件名-F, –format=c|d|t|p         output file f]]></description><category></category></item><item><title><![CDATA[“软链接”和“硬链接”的区别]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78395210</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78395210</guid><author>DB_su</author><pubDate>Mon, 30 Oct 2017 17:29:13 +0800</pubDate><description><![CDATA[什么是链接？链接简单说实际上是一种文件共享的方式，是 POSIX 中的概念，主流文件系统都支持链接文件。它是用来干什么的？你可以将链接简单地理解为 Windows 中常见的快捷方式（或是 OS X 中的替身），Linux 中常用它来解决一些库版本的问题，通常也会将一些目录层次较深的文件链接到一个更易访问的目录中。在这些用途上，我们通常会使用到软链接（也称符号链接）。软链接和硬链接的区别是？下面我们进]]></description><category></category></item><item><title><![CDATA[PostgreSQL：什么情况会触发 WAL 日志归档?]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78337782</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78337782</guid><author>DB_su</author><pubDate>Wed, 25 Oct 2017 09:59:10 +0800</pubDate><description><![CDATA[方法一：手动切换 WAL 日志PostgreSQL 提供 pg_switch_xlog() 函数可以手工切换 WAL 日志，如下：–手动归档
  [pg93@redhatB ~]$ psql 
  shpsql (9.3.0) 
  Type “help” for help.
  
  postgres=# select pg_switch_xlog(); 
   pg_switch_xlog]]></description><category></category></item><item><title><![CDATA[PostgreSQL流复制参数max_wal_senders详解]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78247506</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78247506</guid><author>DB_su</author><pubDate>Mon, 16 Oct 2017 11:00:37 +0800</pubDate><description><![CDATA[环境：PostgreSQL 9.2.4  
主机:192.25.10.76  
从机:192.25.10.71 做postgresql的流复制主从时，会遇到调整max_wal_sengers这个参数，官方文档对这个参数做了一个简要的说明(9.2.4比早先版本多了几句话并做了一些微调)，但没有实际的例子。1.参数说明：
  Specifies the maximum number of concurr]]></description><category></category></item><item><title><![CDATA[postgresql参数wal_level]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78224502</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78224502</guid><author>DB_su</author><pubDate>Fri, 13 Oct 2017 12:01:19 +0800</pubDate><description><![CDATA[wal_level中有三个主要的参数：minimal、archive和hot_standby 
1.minimal是默认的值，它仅写入崩溃或者突发关机时所需要的信息（不建议使用）。 
2.archive是增加wal归档所需的日志（最常用）。 
3.hot_standby是在备用服务器上增加了运行只读查询所需的信息，一般实在流复制的时候使用到。]]></description><category></category></item><item><title><![CDATA[postgresql wal日志部分参数]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78224459</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78224459</guid><author>DB_su</author><pubDate>Fri, 13 Oct 2017 11:56:18 +0800</pubDate><description><![CDATA[fsyncfsync ：控制wal日志刷新是否开启刷新到磁盘,此参数控制wal_sync_method参数的刷新方法,如果fsync为off,则wal_sync_method的方法是没有意义的, 
如果没开启这个参数,则可能由于wal日志块没有刷新到磁盘永久存储而导致故障发生后实例出现块折断(oracle称其为block curruption)wal_sync_methodwal_sync_meth]]></description><category></category></item><item><title><![CDATA[postgresql参数full_page_writes详解]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78224358</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78224358</guid><author>DB_su</author><pubDate>Fri, 13 Oct 2017 11:47:31 +0800</pubDate><description><![CDATA[full_page_writes作用:是否开启全页写入,此参数是为了防止块折断（块损坏）的一种策略。造成块折断的原因：linux操作系统文件系统一个块一般是4k,而数据库则一般是一个块8k,当数据库的脏块刷新到磁盘上时,由于底层是两个块组成的,比如刷第一个操作系统块到磁盘上了,而当刷第二个操作系统块的时候发生了停电等突然停机事故,则就发生了块折断（数据块是否折断是根据块的checksum值来检查的）]]></description><category></category></item><item><title><![CDATA[postgresql参数synchronous_commit详解]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78224137</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78224137</guid><author>DB_su</author><pubDate>Fri, 13 Oct 2017 11:31:52 +0800</pubDate><description><![CDATA[synchronous_commit：同步提交参数, 控制事务提交后返回客户端是否成功的策略 
可选值为:on, remote_write, local, offon
  1 为on且没有开启同步备库的时候,会当wal日志真正刷新到磁盘永久存储后才会返回客户端事务已提交成功, 
  2 当为on且开启了同步备库的时候(设置了synchronous_standby_names),必须要等事务日志刷新到]]></description><category></category></item><item><title><![CDATA[postgresql日志补充]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78217568</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78217568</guid><author>DB_su</author><pubDate>Thu, 12 Oct 2017 17:31:08 +0800</pubDate><description><![CDATA[log基础参数：log_destination = ‘stderr’ 
logging_collector = on 
log_directory = ‘pg_log’                   —可自定义路径 
log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log’   —日志文件名  
log_line_prefix = ‘%t-%d-%h-%a]]></description><category></category></item><item><title><![CDATA[postgresql事物隔离级别以及MVCC]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78214749</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78214749</guid><author>DB_su</author><pubDate>Thu, 12 Oct 2017 14:46:52 +0800</pubDate><description><![CDATA[获取当前事物XID：SELECT txid_current();事务的操作命令BEGIN;  –开启事务–事务隔离级别，定义多个事务时间的隔离级别
  BEGIN TRANSACTION ISOLATION LEVEl [READ COMMITTED/REPEATABLE READ/SERIALIZABLE];  –一次启动事务并指定事务隔离级别 
  BEGIN; 
  TRANSACTION I]]></description><category></category></item><item><title><![CDATA[tar中的参数 cvf,xvf,cvzf,zxvf的区别]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78211793</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78211793</guid><author>DB_su</author><pubDate>Thu, 12 Oct 2017 10:26:11 +0800</pubDate><description><![CDATA[tar cvf etcbak.tar etc/  打包一个tar

tar xvf etcbak.tar         解开一个tar

tar cvzf etcbak.tar.gz etc/ 打包压缩一个 tar

tar zxvf etcbak.tar.gz  解压一个tar]]></description><category></category></item><item><title><![CDATA[Postgres访问其他PostgresQL数据库的功能DBLINK]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78206630</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78206630</guid><author>DB_su</author><pubDate>Wed, 11 Oct 2017 18:05:02 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/hantiannan/article/details/7553108有时候的业务需要参照其他数据库的数据。 
我们可以在程序中分别从两个数据库中取值然后处理。但这样开发效率和性能都不是很好。 
如果两个数据库都是PostgreSQL的话，用扩展的DBLINK功能非常简单。 
比如一个数据db1，db2。首先需要把db1加入dblink扩展。示例1：取得]]></description><category></category></item><item><title><![CDATA[Postgresql保存点（savepoint）功能]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78206449</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78206449</guid><author>DB_su</author><pubDate>Wed, 11 Oct 2017 17:47:32 +0800</pubDate><description><![CDATA[PG数据库保存点PG数据库支持保存点（savepoint）功能，在比较大的事务中，可以把执行过程分为几个步骤，每个步骤执行完成后创建一个保存点，后续步骤执行失败时，可回滚到之前的保存点，而不必回滚整个事务。示例如下：
  TEST=# select * from test; 
   id | value1 | value2 
  —-+——–+——– 
    1 |      1 |      1]]></description><category></category></item><item><title><![CDATA[postgresql修改表]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78205780</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78205780</guid><author>DB_su</author><pubDate>Wed, 11 Oct 2017 17:02:09 +0800</pubDate><description><![CDATA[转载自官方文档：5.5. 修改表如果你创建了一个表后发现自己犯了一个错误，或者是应用的需求发生了变化，那么你可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据，或者该表已经被其它数据库对象引用(比如一个外键约束)，那这可不是一个方便的方法。因此 PostgreSQL 提供了一族命令用于修改现有表。请注意它在概念上和修改一个表中包含的数据是不一样的：这里我们感兴趣的是修改一个表的定义，或者]]></description><category></category></item><item><title><![CDATA[postgresql 的三种日志]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78204494</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78204494</guid><author>DB_su</author><pubDate>Wed, 11 Oct 2017 15:45:57 +0800</pubDate><description><![CDATA[pg_log该文件夹中的日志一般用来记录服务器与DB的状态，如各种Error信息，定位慢查询SQL，数据库的启动关闭信息，发生checkpoint过于频繁等的告警信息等。linux自带的路径一般在/var/log/postgres下面。该日志有.csv格式和.log。这种日志是可以被清理删除不影响DB的正常运行。 
当我们有遇到DB无法启动或者更改参数没有生效时，第一个想到的就是查看这个日志。 pg]]></description><category></category></item><item><title><![CDATA[postgresql查看用户连接以及杀死连接的会话]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78204101</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78204101</guid><author>DB_su</author><pubDate>Wed, 11 Oct 2017 15:21:18 +0800</pubDate><description><![CDATA[连接数大小参数：max_connection查看连接总数：
  select count(*) from pg_stat_activity;
查看所有连接的用户：
  select * from pg_stat_activity;
结果集会显示当前连接的数据库名、用户、IP地址、开始时间、等待事件、查询语句等 
pg_stat_activity其实是一个视图。结束连接的进程pg_terminate_]]></description><category></category></item><item><title><![CDATA[PostgreSQL备份与恢复示例]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78194897</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78194897</guid><author>DB_su</author><pubDate>Tue, 10 Oct 2017 17:07:04 +0800</pubDate><description><![CDATA[一、简介Postgresql的备份分为三种： 
 ·SQL转储 
 ·文件系统级别备份（冷备份） 
 ·在线热备份（归档） 
以下通过实例来讲解PostgreSQL的三种备份。二、 SQL转储pg_dump1，创建数据库 
createdb pg 
2，连入数据库pg 
psql pg 
3，创建测试表，插入数据 
pg=# create table pg_test(a int); 
pg=# in]]></description><category></category></item><item><title><![CDATA[Postgresql数据库导入和导出CSV格式]]></title><link>https://blog.youkuaiyun.com/DB_su/article/details/78194708</link><guid>https://blog.youkuaiyun.com/DB_su/article/details/78194708</guid><author>DB_su</author><pubDate>Tue, 10 Oct 2017 16:54:59 +0800</pubDate><description><![CDATA[Postgresql数据库导入和导出CSV格式




1、生成csv格式文件样式









2

tank

11

31



3
zhang
11
32



4
tom
10
33



5
gao
11
34



6
tank
12
35



7
zhang
13
]]></description><category></category></item></channel></rss>