随笔分类 -  基础知识

摘要:我们有很多时候需要使用中文编码格式,比如gbk、gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换。可是在我使用的过程中,却发现编码转换并没有想象中的简单,或者说可能会出错,即使你使用的系统API。我在使用中,产生一些疑惑,搜 阅读全文
posted @ 2023-08-15 09:58 数据库集中营 阅读(3201) 评论(0) 推荐(0) 编辑
摘要:背景 国内的应用,在文本排序上基本都是按照拼音来进行排序的。 在不同的字符集中,汉字的编码可能不一样,比如UTF8和GBK,其中GBK是按拼音的顺序进行编码的,而UTF8则不是。 所以如果你的数据库使用了UTF8编码,对中文字段进行排序时,可能得到的并不是按拼音排序的结果。 在PostgreSQL中 阅读全文
posted @ 2022-08-12 10:09 数据库集中营 阅读(1576) 评论(0) 推荐(0) 编辑
摘要:背景 对于多数数据库,dba技能之一就是查找锁。锁的存在有效合理的在多并发场景下保证业务有序进行。下面我们看一下Postgresql中查找阻塞的方法。 1、找到"被阻塞者",获取被堵塞的PID select distinct pid from pg_locks where not granted; 阅读全文
posted @ 2022-06-01 10:25 数据库集中营 阅读(713) 评论(1) 推荐(1) 编辑
摘要:一、前言 PostgreSQL为每个收到查询产生一个查询计划。 选择正确的计划来匹配查询结构和数据的属性对于好的性能来说绝对是最关键的,因此系统包含了一个复杂的规划器来尝试选择好的计划。 你可以使用EXPLAIN命令察看规划器为任何查询生成的查询计划。 二、执行计划命令 EXPLAIN [ ( op 阅读全文
posted @ 2022-05-18 16:51 数据库集中营 阅读(1376) 评论(0) 推荐(0) 编辑
摘要:一、简介 PostgreSQL中的临时表分两种,一种是会话级临时表,一种是事务级临时表。在会话级临时表中,数据可以存在于整个会话的生命周期中,在事务级临时表中的数据只能存在于事务的生命周期中。默认创建的是会话级别的临时表。 1、不管是会话级还是事务级的临时表,当会话结束后,临时表会消失,这和Orac 阅读全文
posted @ 2022-04-18 16:12 数据库集中营 阅读(4738) 评论(0) 推荐(0) 编辑
摘要:一、PG统计信息概述 pg的统计信息主要分为两种: 第一类统计信息是是负载指标“统计信息”(Monitoring stats),通过stat collector进程进行实时采集更新的负载指标,记录一些对磁盘块、表、索引相关的统计信息,SQL语句执行代价信息等。 第二类统计信息是数据分布状态描述“统计 阅读全文
posted @ 2022-04-13 10:19 数据库集中营 阅读(1838) 评论(0) 推荐(0) 编辑
摘要:一、表膨胀查询与处理 1、创建扩展 create extension pgstattuple; 2、表膨胀查询 pgstattuple提供了pgstatetuple()和pgstatindex()两个统计表和索引的方法,较系统表pg_class的表统计信息,pgstatetuple()还统计了表中的 阅读全文
posted @ 2022-02-24 10:17 数据库集中营 阅读(992) 评论(0) 推荐(0) 编辑
摘要:一、预写日志(WAL) 预写式日志(Write Ahead Log,WAL)是保证数据完整性的一种标准方法。简单来说,WAL的中心概念是数据文件(存储着表和索引)的修改必须在这些动作被日志记录之后才被写入,即在描述这些改变的日志记录被刷到持久存储以后。如果我们遵循这种过程,我们不需要在每个事务提交时 阅读全文
posted @ 2022-02-17 11:17 数据库集中营 阅读(6118) 评论(0) 推荐(0) 编辑
摘要:一、摘要 1、索引是提高数据库性能的常用途径。比起没有索引,使用索引可以让数据库服务器更快找到并获取特定行。但是索引同时也会增加数据库系统的日常管理负担,因此我们应该聪明地使用索引。 2、索引其实就是一种数据结构,将数据库中的数据以一定的数据结构算法进行存储。当表数据量越来越大时查询速度会下降,建立 阅读全文
posted @ 2022-02-15 16:33 数据库集中营 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:一、摘要 在Oracle中,若发生重大的误操作,那么我们可以使用flashback database命令来把数据库整体闪回到过去的误操作的时间点,当然前提是需要打开数据库的闪回功能。 在PG中,能否也可以执行类型的操作呢,答案是肯定的。 二、闪回数据库过程示例 1、误操作 2、查找误操作事务号 首先 阅读全文
posted @ 2022-02-14 16:50 数据库集中营 阅读(817) 评论(0) 推荐(0) 编辑
摘要:一、简介 读取MySQL的binlog 并将其解析为可读的日志是一件简单的事情,mysqlbinlog 命令就可以将bin日志解析, 那postgresql是否可以将pg_wal 中的日志进行解析,并且提供一些特殊的功能,例如想查询某个时间短插入的数据量。pg_waldump 可以解决这个问题,通过 阅读全文
posted @ 2022-02-14 16:00 数据库集中营 阅读(2000) 评论(0) 推荐(1) 编辑
摘要:一、PostgreSQL物理架构 postgresql的物理架构非常简单,它由共享内存、一系列后台进程和数据文件组成。 二、Shared Memory 共享内存是服务器服务器为数据库缓存和事务日志缓存预留的内存缓存空间。其中最重要的组成部分是Shared Buffer和WAL Buffer。 Sha 阅读全文
posted @ 2022-02-14 09:15 数据库集中营 阅读(764) 评论(0) 推荐(0) 编辑
摘要:一、TOAST是什么? TOAST是“The Oversized-Attribute Storage Technique”(超尺寸字段存储技术)的缩写,主要用于存储一个大字段的值。 要理解TOAST,我们要先理解页(BLOCK)的概念。在PG中,页是数据在文件存储中的基本单位,其大小是固定的且只能在 阅读全文
posted @ 2022-02-10 10:28 数据库集中营 阅读(985) 评论(0) 推荐(0) 编辑
摘要:一、概念 并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制。PostgreSQL使用了多版本并发控制技术的一种变体:快照隔离Sanpshot Isolation(简称SI)。通过SI,PostgreSQL提供了四个事务隔离级别,隔 阅读全文
posted @ 2022-02-10 09:48 数据库集中营 阅读(2600) 评论(0) 推荐(1) 编辑
摘要:WAL是Write Ahead Log的简写,和oracle的redo日志类似,存放在$PGDATA/pg_xlog中,10版本以后在$PGDATA/pg_wal目录. 1、如果开启了归档,在目录archive_status下会有一些文件,以ready结尾的,表示可以归档但还没有归档,done结尾的 阅读全文
posted @ 2021-12-07 10:15 数据库集中营 阅读(1921) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示