postgresql
文章平均质量分 57
DB_su
不积跬步无以至千里
展开
-
PostgreSQL ALTER TABLE中改变数据类型时USING的用法
在修改表字段类型的时候使用Using来进行显示的转换类型。原文说明:SET DATA TYPE This form changes the type of a column of a table. Indexes and simple table constraints involving the column willbe automatically converted to use th转载 2017-09-14 17:11:59 · 1608 阅读 · 0 评论 -
postgresql日志补充
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转载 2017-10-12 17:31:08 · 554 阅读 · 0 评论 -
postgresql参数synchronous_commit详解
synchronous_commit:同步提交参数, 控制事务提交后返回客户端是否成功的策略 可选值为:on, remote_write, local, offon 1 为on且没有开启同步备库的时候,会当wal日志真正刷新到磁盘永久存储后才会返回客户端事务已提交成功, 2 当为on且开启了同步备库的时候(设置了synchronous_standby_names),必须要等事务日志刷新到转载 2017-10-13 11:31:52 · 8147 阅读 · 0 评论 -
postgresql参数full_page_writes详解
full_page_writes作用:是否开启全页写入,此参数是为了防止块折断(块损坏)的一种策略。造成块折断的原因:linux操作系统文件系统一个块一般是4k,而数据库则一般是一个块8k,当数据库的脏块刷新到磁盘上时,由于底层是两个块组成的,比如刷第一个操作系统块到磁盘上了,而当刷第二个操作系统块的时候发生了停电等突然停机事故,则就发生了块折断(数据块是否折断是根据块的checksum值来检查的)转载 2017-10-13 11:47:31 · 2101 阅读 · 0 评论 -
postgresql wal日志部分参数
fsyncfsync :控制wal日志刷新是否开启刷新到磁盘,此参数控制wal_sync_method参数的刷新方法,如果fsync为off,则wal_sync_method的方法是没有意义的, 如果没开启这个参数,则可能由于wal日志块没有刷新到磁盘永久存储而导致故障发生后实例出现块折断(oracle称其为block curruption)wal_sync_methodwal_sync_meth转载 2017-10-13 11:56:18 · 2455 阅读 · 0 评论 -
postgresql参数wal_level
wal_level中有三个主要的参数:minimal、archive和hot_standby 1.minimal是默认的值,它仅写入崩溃或者突发关机时所需要的信息(不建议使用)。 2.archive是增加wal归档所需的日志(最常用)。 3.hot_standby是在备用服务器上增加了运行只读查询所需的信息,一般实在流复制的时候使用到。转载 2017-10-13 12:01:19 · 3806 阅读 · 0 评论 -
PostgreSQL pg_dump&psql 数据的备份与恢复
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转载 2017-11-09 16:36:20 · 1524 阅读 · 0 评论 -
PostgreSQL流复制参数max_wal_senders详解
环境: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转载 2017-10-16 11:00:37 · 3864 阅读 · 0 评论 -
PostgreSQL:什么情况会触发 WAL 日志归档?
方法一:手动切换 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转载 2017-10-25 09:59:10 · 1296 阅读 · 0 评论 -
PostgreSQL 只读模式 , hot standby recovery 模式
背景有些时候,我们可能需要将数据库变成只读模式,或者提供一些只读账号。比如需要给开发人员一些自由查询功能的账号,或者当数据库用了多少空间后,将其锁定为只读模式。让数据库进入只读有几种方法,弱只读的方法,设置默认事务为只读,这种方法只能实现弱只读,因为用户可以在会话中改成写模式。进入recovery模式,并开启hot_standby。如果要让某个用户只读,建议使用权限控制的方法,比如只赋予sel转载 2017-11-28 15:39:30 · 5586 阅读 · 0 评论 -
postgresql事物隔离级别以及MVCC
获取当前事物XID:SELECT txid_current();事务的操作命令BEGIN; –开启事务–事务隔离级别,定义多个事务时间的隔离级别 BEGIN TRANSACTION ISOLATION LEVEl [READ COMMITTED/REPEATABLE READ/SERIALIZABLE]; –一次启动事务并指定事务隔离级别 BEGIN; TRANSACTION I转载 2017-10-12 14:46:52 · 1145 阅读 · 0 评论 -
Postgres访问其他PostgresQL数据库的功能DBLINK
转自:http://blog.csdn.net/hantiannan/article/details/7553108有时候的业务需要参照其他数据库的数据。 我们可以在程序中分别从两个数据库中取值然后处理。但这样开发效率和性能都不是很好。 如果两个数据库都是PostgreSQL的话,用扩展的DBLINK功能非常简单。 比如一个数据db1,db2。首先需要把db1加入dblink扩展。示例1:取得转载 2017-10-11 18:05:02 · 1629 阅读 · 0 评论 -
Postgresql保存点(savepoint)功能
PG数据库保存点PG数据库支持保存点(savepoint)功能,在比较大的事务中,可以把执行过程分为几个步骤,每个步骤执行完成后创建一个保存点,后续步骤执行失败时,可回滚到之前的保存点,而不必回滚整个事务。示例如下: TEST=# select * from test; id | value1 | value2 —-+——–+——– 1 | 1 | 1转载 2017-10-11 17:47:32 · 3564 阅读 · 0 评论 -
PostgreSQL Daily Maintenance - reindex
Reindex日志维护 随着DML的发生, 索引会出现碎片. 持续膨胀. 降低效率. 虽然PostgreSQL有vacuum机制, 但是索引不像heap表, vacuum后的dead tuple占用的空间可以被马上回收复用, 以b-tree索引为例, 一个b-tree page只有当所有的item全部变成不可用后这个page才能被复用. 所以索引膨胀的概率比表大很多. 例一 : digoal转载 2017-09-11 17:43:33 · 793 阅读 · 1 评论 -
PostgreSQL 二进制安装步骤
linux版本中使用自定义的二进制安装原创 2017-09-12 10:45:30 · 2543 阅读 · 0 评论 -
解决postgresql远程连接报错
下载使用第三方软件Navicat for PostgreSQL管理postgresql。 连接时navicat报错: could not connect to server:Connection refused (0x0000274D/10061)解决方法:1.关闭postgresql服务 [postgres@server2 data]$./pg_ctl -D /opt/pgsql/data原创 2017-09-12 14:55:46 · 4767 阅读 · 0 评论 -
postgresql 常用命令
用户实用程序:createdb 创建一个新的PostgreSQL的数据库(和SQL语句:CREATE DATABASE 相同) createuser 创建一个新的PostgreSQL的用户(和SQL语句:CREATE USER 相同) dropdb 删除数据库 dropuser 删除用户 pg_dump 将PostgreSQL数据库导出到一个脚本文件 pg_dumpall 将所有转载 2017-09-12 16:52:12 · 568 阅读 · 0 评论 -
Postgresql数据库导入和导出CSV格式
Postgresql数据库导入和导出CSV格式1、生成csv格式文件样式2tank11313zhang11324tom10335gao11346tank12357zhang13转载 2017-10-10 16:54:59 · 17430 阅读 · 2 评论 -
PostgreSQL备份与恢复示例
一、简介Postgresql的备份分为三种: ·SQL转储 ·文件系统级别备份(冷备份) ·在线热备份(归档) 以下通过实例来讲解PostgreSQL的三种备份。二、 SQL转储pg_dump1,创建数据库 createdb pg 2,连入数据库pg psql pg 3,创建测试表,插入数据 pg=# create table pg_test(a int); pg=# in转载 2017-10-10 17:07:04 · 2330 阅读 · 0 评论 -
postgresql查看用户连接以及杀死连接的会话
连接数大小参数:max_connection查看连接总数: select count(*) from pg_stat_activity;查看所有连接的用户: select * from pg_stat_activity;结果集会显示当前连接的数据库名、用户、IP地址、开始时间、等待事件、查询语句等 pg_stat_activity其实是一个视图。结束连接的进程pg_terminate_原创 2017-10-11 15:21:18 · 39374 阅读 · 0 评论 -
postgresql 的三种日志
pg_log该文件夹中的日志一般用来记录服务器与DB的状态,如各种Error信息,定位慢查询SQL,数据库的启动关闭信息,发生checkpoint过于频繁等的告警信息等。linux自带的路径一般在/var/log/postgres下面。该日志有.csv格式和.log。这种日志是可以被清理删除不影响DB的正常运行。 当我们有遇到DB无法启动或者更改参数没有生效时,第一个想到的就是查看这个日志。 pg转载 2017-10-11 15:45:57 · 894 阅读 · 0 评论 -
postgresql修改表
转载自官方文档:5.5. 修改表如果你创建了一个表后发现自己犯了一个错误,或者是应用的需求发生了变化,那么你可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据,或者该表已经被其它数据库对象引用(比如一个外键约束),那这可不是一个方便的方法。因此 PostgreSQL 提供了一族命令用于修改现有表。请注意它在概念上和修改一个表中包含的数据是不一样的:这里我们感兴趣的是修改一个表的定义,或者转载 2017-10-11 17:02:09 · 998 阅读 · 0 评论 -
postgresql 查看锁的sql
SELECT locker.pid, pc.relname, locker.mode, locker_act.application_name, least(query_start,xact_start) start_time, locker_act.state, C转载 2017-11-30 10:38:56 · 6182 阅读 · 0 评论