数据库-PostgreSQL
文章平均质量分 56
abcwywht
这个作者很懒,什么都没留下…
展开
-
postgres导出查询结果到文件
进入postgres,创建导出文件 touch /home/my.csv 切换到库odoo:\c odoo COPY (SELECT * FROM blacklist) TO '/home/my.csv' (format csv, delimiter ';')原创 2022-04-24 19:10:30 · 1143 阅读 · 0 评论 -
postgresql事务隔离级别如何查看以及设置
1、查看数据库事务隔离级别SELECT name, setting FROM pg_settings WHERE name ='default_transaction_isolation';或SELECT current_setting('default_transaction_isolation');2、设置全局事务隔离级别方法一:修改postgresql.conf文件中的default_transaction_isolation方法二:alter system set def转载 2022-04-09 15:42:51 · 6008 阅读 · 0 评论 -
PostgreSQL的MVCC与数据库ACID
1、数据库事务ACID介绍数据库事务包含如下四个特性原子性(Atomicity)指一个事务要么全部执行,要么不执行。也即一个事务不可能只执行一半就停止(哪怕是因为意外也不行)。比如从取款机取钱,这个事务可以分成两个步骤:1)划卡;2)出钱。不可能划了卡,而钱却没出来。这两步必须同时完成,或者同时不完成。 一致性(Consistency)事务的运行不可改变数据库中数据的一致性,事务必须将数据库中的数据从一个正确的状态带到另一个正确的状态。事务在开始时,完全可以假定数据库中的数据是处于正确(一致)..转载 2022-04-08 19:24:17 · 428 阅读 · 0 评论 -
PostgreSQL存储结构
PostgreSQL中,一个表对应一个逻辑文件,一个表被分割成若干个物理段文件(relation segment),除最后一段外默认大小40M。文件页(磁盘块)是物理段文件的基本储存单位,也是内存和磁盘交换的单位。文件页大小限制了表元组的大小并影响磁盘操作效率,缺省大小8192字节,最大可设置为2^15字节(这是由磁盘块索引是15位决定的)。一个文件页空间被逻辑分割为三个部分:PageHeader:页描述区 记载页的使用情况, 如页分布格式版本,元组数据空间和特殊空间的起始位置以及文件页相..转载 2022-03-26 16:32:08 · 831 阅读 · 0 评论 -
Postgres的多版本并发控制MVCC
MVCC,Multi-Version Concurrency Control,多版本并发控制。一句话讲,MVCC就是用同一份数据临时保留多版本的方式,实现并发控制。它可以避免读写事务之间的互相阻塞,相比通常的封锁技术可极大的提高业务的并发性能。为何需要MVCC如果有人从数据库中读数据的同时,有另外的人写入数据,有可能读数据的人会看到『半写』或者不一致的数据。有很多种方法来解决这个问题,叫做并发控制方法。最简单的方法,通过加锁,让所有的读者等待写者工作完成,但是这样效率会很差。MVCC 使用了一种不转载 2022-03-07 15:15:43 · 443 阅读 · 0 评论 -
postgresql的事务隔离
1 介绍具有基本知识的DBA都知道,PostgreSQL在控制数据的一致性是通过使用一种多版本模型来维护的,也就是常说的多版本并发控制MVCC。这也就意味着每一个sql语句看到的都只是一小段时间的数据库快照,或者称为版本,而并不关心底层的数据文件当中的当前状态。这样带来的好处就是保护每一个会话中的事务不受到其他会话的影响,提供了非常好的事务隔离机制。MVCC并发控制模型相对于锁机制的优点在于,查询数据的锁请求与写数据的锁请求并不冲突,所以,读不会阻塞写,写也不会阻塞读。2 事务隔离其实说起事务隔转载 2022-01-02 20:54:10 · 259 阅读 · 0 评论 -
postgreSQL 中如何查看当前数据库下的所有模式(Schema)
使用命令:SELECT * FROM information_schema.schemata原创 2021-10-12 10:41:05 · 21810 阅读 · 3 评论 -
JDBI介绍和使用
五分钟介绍JDBI是Java的SQL连接处理的便利工具库。它试图以Java中使用集合,bean等来映射关系来访问关系数据库,同时保持与JDBC相同的粒度。它公开了两种不同风格的API,一种流式风格和一种sql对象风格。流式风格的API流式风格API 如下所示:// using in-memory H2 databaseDataSource ds = JdbcConnectio...原创 2019-12-03 19:08:35 · 2928 阅读 · 0 评论 -
PostgreSQL的generate_series函数应用
一、简介PostgreSQL 中有一个很有用处的内置函数generate_series,可以按不同的规则产生一系列的填充数据。二、语法函数 参数类型 返回类型 描述 generate_series(start, stop) int 或 bigint setof int 或 setof bigint(与参数类型相同) 生成一个数值序列,从st...转载 2019-04-08 20:11:32 · 1093 阅读 · 0 评论 -
Postgresql 取随机数
取0和1之间的随机数SELECT RANDOM();取介于两数之间的随机数SELECT random()*(b-a)+a;SELECT random()*(25-10)+10;取介于两数之间的随机整数SELECT floor(random()*(b-a)+a);SELECT floor(random()*(25-10)+10);转载自:http://www.mam...转载 2019-04-08 19:57:39 · 1658 阅读 · 0 评论 -
PostgreSQL分页
1、如果用过mysql,那么对select * from xxx limit x,y;这样的语法会很熟悉。select * from table limit 7,100; //搜索记录行 8-100 select * from table limit 7,-1; //搜索记录行 8到最后一行 select * from table limit 7; //搜索前7行记录 ...转载 2019-04-08 19:51:23 · 1841 阅读 · 0 评论