本文汇总了MySQL 8.0 默认值发生改变的参数。 1. sql_mode MySQL 8.0 sql_mode不再支持这几个选项: DB2 MAXDB MSSQL MYSQL323 MYSQL40 ORACLE POSTGRESQL NO_FIELD_OPTIONS N
MySQL 8.0.13 版本对于range查询,引入了索引跳跃扫描(Index Skip Scan)优化,支持不符合组合索引最左前缀原则条件下的SQL,依然能够使用组合索引,减少不必要的扫描。 先看一下官方文档中给出的场景: CREATE TABLE t1 (f1 INT NOT NULL
源码版本:pg 11.9 源码文件:src/backend/storage/ipc/latch.c Latch 是 pg 中使用较多的一种数据结构,用于等待某个事件的发生或者超时,常见的 Latch 相关函数如下: In
PostgreSQL 源码提供了编译选项用来测试代码覆盖率,打开 --enable-coverage 选项,编译安装,然后执行回归测试或者其他的测试,最后生成代码覆盖率报告。 下面以 CentOS 7.9 环境为例,介绍整个操作流程。
源码版本:PG13 Free Space Map 是 PostgreSQL 空闲空间高效管理的一种方式。堆表由于频繁的 update, delete,vacuum,会导致页面出现大小不一的空闲空间,FSM 机制能够有效的管理这些空闲空间,当需要一块指定大小的空闲空
源码版本:pg 14.3 源文件:src/backend/replication/syncrep.c 原文地址:https://www.mytecdb.com/blogDetail.php?id=239 1、PG同步复制简介 同步复制是 pg 9.1 版本引入的新特性,事务提交
源码版本:PG 13.3 PG 支持两阶段提交事务(2PC),本文基于 PG 13.3 源码,简单分析 2PC 事务处理相关的逻辑。 1. 两阶段事务提交的处理过程 2PC 各阶段的命令调用主要包含如下三个: prepare trancatio
源码版本:PG 13.3 源码文件:src/backend/utils/time/snapmgr.c 1. 事务快照数据结构 typedef struct SnapshotData { SnapshotType snapshot_type; /*
源码版本:PG 13.3 源码文件:slot.c slotfuncs.c 1. 什么是 PG 复制槽? PG 复制槽用于记录主备流复制的状态,主要目的是防止 wal 日志被过早的删除,导致备库流复制中断。复制槽是有状态的,能够持久化到磁盘上,允许宕机、
源码版本:PG 13.3 源码文件:dsm.c dsm_impl.c PostgreSQL 是基于进程模型的数据库内核实现,进程之间的通信、数据传输通常需要借助共享内存实现。在程序运行过程中,比如并发任务需要创建多个工作进程,工作进程与 backend 进程之间的
源码文件:src/backend/access/transam/subtrans.c 源码版本:PG 13.3 1. 子事务的使用 PG 提供了一组 savepoint 相关的命令用于子事务操作,子事务相关例子如下: 定义一个保存点:
在 PostgreSQL 数据库中,relation 关联的所有信息存储在几个不同的 forks 里面,每个 fork 都包含一个特定类型的数据。首先一个 fork 表示一个文件,它的文件名由一个数字 ID(oid)表示,可以通过对应于 fork 类型的后缀进行扩展。 文件随着时间的推移
Copyright © 2020-2023 www.mytecdb.com All Rights Reserved.
PostgreSQL安装完成之后,需要先初始化数据库,然后才能启动数据库服务。PostgreSQL安装目录下的bin目录中提供了很多命令用于数据库的初始化、数据库启动和停止等功能,本文用到的命令如下: initdb pg_ctl 0. 环境准备 PostgreSQL版本:11.5
一个PostgreSQL实例能够管理多个数据库,可以为每个用户,或者每个项目单独创建一个数据库。PostgreSQL提供了createdb和dropdb命令用于创建和删除数据库。 1. createdb和dropdb创建、删除数据库 切换到pg用户 su - pg 创建数据库
PostgreSQL使用角色来管理用户权限,角色是一系列相关权限的集合,如果哪个用户需要这些权限,就可以把该角色赋予用户,实际上在PostgreSQL内部实现中,角色和用户没有任何区别,只是逻辑上分为角色和用户,下文的描述中,角色与用户等同。 1. 角色创建与删除 创建角色: create r
PostgreSQL中允许哪些IP的机器能够访问数据库是由配置文件pg_hba.conf控制的,通过配置该文件,能够指定哪些ip可以访问,哪些ip不可以访问,以及访问的认证方式。hba是host-based authentication的缩写。 原文地址: https://mytecdb.c
1. PostgreSQL简介 PostgreSQL是一款功能强大的开源对象关系型数据库系统,源码开放,由社区共同维护,不受任何公司和个人控制,可以免费使用。 PostgreSQL支持丰富的数据类型,除了基本类型(数值、字符串、时间日期等),还支持文档类型,如JSON,XML,几何类型以及自
主备复制架构是数据库使用最广泛的一种架构,当主库发生故障时可以将备库提升为主,快速恢复业务。主备架构另外一个功能是提供负载均衡,读业务可以路由到备库,减少主库的负载。本文主要介绍PostgreSQL主备流复制的搭建方法。 PostgreSQL版本:11.5 2台机器,搭建PG主备流复制
在安装完成PostgreSQL之后,通过initdb命令初始化一个新的数据库实例,启动数据库,然后就可以连接并访问数据库了。PostgreSQL提供了命令行连接工具psql,提供了功能强大的访问数据库的能力。 1. 连接本地数据库 切换到pg用户 su - pg 创建数据库 creat