摘要:
pg中money类型以固定的分数精度存储货币金额;如下表: 名称 存储大小 描述 范围 money 8bytes 货币金额 -92233720368547758.08 to +92233720368547758.07 表中显示的范围假设有两位小数。 分数精度由数据库的lc_monetary设置决定。 阅读全文
随笔分类 - postgres
patroni启动,提示waiting for leader to bootstrap
2020-02-23 09:45 by abce, 1771 阅读, 收藏, 编辑
摘要:
patroni集群第一次初始化失败,再次使用原来的配置尝试初始化,查看信息,不同节点都显示同一个信息:waiting for leader to bootstrap # systemctl status patroni.service ● patroni.service - PostgreSQL h 阅读全文
pg_buffercache
2019-12-24 11:35 by abce, 750 阅读, 收藏, 编辑
摘要:
pg_buffercache模块提供了一种实时检查共享缓冲区高速缓存中发生的内容。 该模块提供了一个C函数pg_buffercache_pages,该函数返回一组记录,以及一个视图pg_buffercache,该视图包装了该函数以便于使用。 默认情况下,仅限超级用户和pg_read_all_stat 阅读全文
使用oid2name列出数据库和对应的oid
2019-12-23 15:45 by abce, 570 阅读, 收藏, 编辑
摘要:
[postgres@postgre base]$ ll total 172 drwx------ 2 postgres postgres 12288 Dec 6 09:21 1 drwx------ 2 postgres postgres 12288 Dec 6 09:21 13877 drwx------ 2 postgres postgres 12288 Dec 20 23:04 138... 阅读全文
pg中与超时设置有关的参数
2019-11-29 10:14 by abce, 10135 阅读, 收藏, 编辑
摘要:
statement_timeout控制语句执行时长,单位是ms。超过设定值,该语句将被中止。不推荐在postgresql.conf中设置,因为会影响所有的会话,如非要设置,应该设置一个较大值。 lock_timeout锁等待超时。语句在试图获取表、索引、行或其他数据库对象上的锁时等到超过指定的毫秒数 阅读全文
SELECT DISTINCT ON expressions must match initial ORDER BY expressions
2019-11-15 14:32 by abce, 1640 阅读, 收藏, 编辑
摘要:
开发说pg中执行sql报错,发来消息让帮看看: 详细语句如下: 失败的原因看看官方文档就知道了: 阅读全文
ERROR: type "sum" does not exist
2019-11-15 14:09 by abce, 1563 阅读, 收藏, 编辑
摘要:
开发问pg中执行一个简单的语句,多次报错: 看看具体的语句,其实是个很简单的语句,怎么会报类型sum不存在呢? 其实这是的问题在于select语句中列的别名的写法规范问题。以下是pg文档中的描述: 在SQL标准中,只要新列名是有效的列名(即与任何保留关键字不同),就可以在输出列名之前省略可选关键字A 阅读全文
PostgreSQL DISTINCT 和 DISTINCT ON
2019-10-22 15:38 by abce, 3998 阅读, 收藏, 编辑
摘要:
select语句中,使用distinct关键字,在处理select list后,结果表可以选择消除重复的行。在SELECT之后直接写入DISTINCT关键字以指定此关键字: SELECT DISTINCT select_list ... (可以使用关键字ALL代替DISTINCT来指定保留所有行的默 阅读全文
PostgreSQL中的partition-wise aggregation
2019-10-10 15:07 by abce, 984 阅读, 收藏, 编辑
摘要:
partition-wise aggregation允许对每个分区分别执行的分区表进行分组或聚合。如果GROUP BY子句不包括分区键,则只能在每个分区的基础上执行部分聚合,并且必须稍后执行最终处理。由于partitionwise分组或聚合可能在计划期间占用大量CPU时间和内存,因此默认设置为关闭。 阅读全文
PostgreSQL中的partition-wise join
2019-10-10 14:09 by abce, 1152 阅读, 收藏, 编辑
摘要:
与基于继承的分区(inheritance-based partitioning)不同,PostgreSQL 10中引入的声明式分区对数据如何划分没有任何影响。PostgreSQL 11的查询优化器正准备利用这种“无推理”表示。第一个提交的是partition-wise join。什么是partiti 阅读全文
pg执行计划分析小笔记
2019-10-09 11:42 by abce, 2236 阅读, 收藏, 编辑
摘要:
开发同事问,为什么一个标量子查询,放在where子句后进行大小判断,比不放在where子句后进行判断大小运行的更快?按道理加了一次判断,不是应该变慢么? 把语句拿过来,看了一下两个语句的执行计划: 语句1和执行计划1: 语句2和执行计划2: 从上面的执行计划看,在where之后进行大小判断后,执行时 阅读全文
ERROR: source database "template1" is being accessed by other users
2019-10-08 16:49 by abce, 2813 阅读, 收藏, 编辑
摘要:
一开始,开发童鞋说他在测试环境没有创建数据库的权限。心想,不对呀,开发环境没有怎么做权限管控,明明给予授权了。上来一看: 原来不是权限的问题! 查看一下,谁在使用template1: 将查出的pid kill掉 也可以使用一条语句,直接将使用template1的会话kill掉: 然后再执行数据库创建 阅读全文
PostgreSQL中的一些日志
2019-09-01 11:09 by abce, 1080 阅读, 收藏, 编辑
摘要:
1.Write Ahead Log(WAL日志)预写日志(WAL)是保证数据完整性的标准方法。在有关交易处理的大多数(如果不是全部)书籍中都可以找到详细说明。 简而言之,WAL的核心概念是,只有在记录了对这些更改之后,即在描述更改的日志记录已刷新到永久存储之后,才写入对数据文件(表和索引所在的位置) 阅读全文
PostgreSQL的表空间
2019-08-21 08:58 by abce, 1454 阅读, 收藏, 编辑
摘要:
PostgreSQL中的表空间允许数据库管理员在文件系统中定义可以存储表示数据库对象的文件的位置。创建后,可以在创建数据库对象时按名称引用表空间。 通过使用表空间,管理员可以控制PostgreSQL安装的磁盘布局。这至少在两个方面很有用。首先,如果初始化集群的分区或卷空间不足并且无法扩展,则可以在不 阅读全文
PostgreSQL体系架构与内存结构
2019-08-13 17:47 by abce, 770 阅读, 收藏, 编辑
摘要:
PostgreSQL体系架构 PostgreSQL的内存结构 阅读全文
PostgreSQL中的The Oversized-Attribute Storage Technique(TOAST:超大属性存储技术)
2019-08-12 17:06 by abce, 729 阅读, 收藏, 编辑
摘要:
PostgreSQL使用固定的页面大小(通常为8kB),并且不允许元组跨越多个页面。因此,不可能直接存储非常大的字段值。为了克服这种限制,将大字段值压缩和/或分解成多个物理行。这对用户来说是透明的,对大多数后端代码只有很小的影响。该技术被称为TOAST。TOAST架构还用于改进内存中大数据值的处理。 阅读全文
PostgreSQL中的pg_relation_filepath()函数
2019-08-12 10:16 by abce, 1803 阅读, 收藏, 编辑
摘要:
pg_relation_filepath()类似于pg_relation_filenode(),但它返回关系的整个文件路径名(相对于数据库集群的数据目录PGDATA)。 阅读全文
PostgreSQL中的Object Identifier(oid)数据类型
2019-08-12 10:04 by abce, 3103 阅读, 收藏, 编辑
摘要:
PostgreSQL在内部使用对象标识符(OID)作为各种系统表的主键。OID不会添加到用户创建的表中,除非在创建表时指定了WITH OIDS,或者启用了default_with_oids配置变量。类型oid表示对象标识符。oid还有几种别名类型:regproc,regprocedure,regop 阅读全文
PostgreSQL中的索引(一)
2019-08-08 15:04 by abce, 2988 阅读, 收藏, 编辑
摘要:
引言 这一系列文章主要关注PostgreSQL中的索引。 可以从不同的角度考虑任何主题。我们将讨论那些使用DMBS的应用开发人员感兴趣的事项:有哪些可用的索引;为什么会有这么多不同的索引;以及如何使用索引来加速查询。这个主题可以之用寥寥数语就被涵盖,但是,在内心深处,我们希望那些充满好奇心、同时也对 阅读全文