PostgreSQL 存储结构
1 逻辑结构 PostgreSQL 中 Cluster 的概念指的不是多个 PostgreSQL 实例所组成的集群,而是单个 PostgreSQL 实例中的多个数据库(Databases),所以翻译为集簇。每个集簇下可以存在多个相互独立的数据库(Database),一个数据库是多个数据库对象(Database object)的集合,这些对象包括表(Table)、视图(View)、索引(In...
1 逻辑结构 PostgreSQL 中 Cluster 的概念指的不是多个 PostgreSQL 实例所组成的集群,而是单个 PostgreSQL 实例中的多个数据库(Databases),所以翻译为集簇。每个集簇下可以存在多个相互独立的数据库(Database),一个数据库是多个数据库对象(Database object)的集合,这些对象包括表(Table)、视图(View)、索引(In...
1 Nix 是什么 Nix 是一个纯函数式的包管理器。 纯函数式的意思是输入决定输出:比如一个求平方的函数 f,当输入为 1 时输出为 1,当输入为 2 时输出为 4。只要输入不变,输出就不变,输入改变,输出一般也会改变。虽然从理论上来说纯函数式也有可能存在不同的输入得到相同的输出的情况,但是像 Nix 这种输入内容非常多而且使用哈希算法的情况下概率非常小,这个在密码学上叫做哈希碰撞,我...
本文介绍 Claude Code 的 Claude.md、Skills、MCP、Subagents、Agent teams、Hooks、Plugins 等高级特性。 特性简介 CLAUDE.md: 用来向 Claude Code 介绍项目(如项目背景、架构、技术栈等)和指定规范(如构建测试命令、注意事项、禁止事项等)的文件。 Skills: 可复用的参...
Claude Code 是一个 AI 辅助编程工具,支持终端、IDE(VSCode, JetBrains)、桌面应用、浏览器等方式运行。 文中出现 claude --resume 这样的格式表示 Shell 中执行 claude 命令,出现 /resume 这样的格式表示启动 claude 后执行的内置命令(Built-in commands)。 1 工作流程 Claude C...
1 简介 PostgreSQL 以页(page,默认 8KB)为单位对数据文件进行访问,为了提高访问的效率,会先把需要访问的页从磁盘加载到共享缓冲区(shared_buffers,内存)再进行操作,然后由后台写入进程(bgwriter)定期把缓冲区中的脏页(被修改过的)写入磁盘。由此带来一个问题,就是当发生数据库故障、操作系统故障、电源故障等情况时,缓冲区中还未来得及写入磁盘的数据会丢失。...
概述 GCC 编译 C/C++ 代码的过程主要分为如下图的 4 个步骤(.i 和 .ii 分别是 .c 和 .cpp 源文件预处理后的中间文件后缀名;.o 和 .obj 分别是 Linux 和 Windows 系统上汇编后的目标文件后缀名;.a 和 .lib 分别是 Linux 和 Windows 系统上静态库文件后缀名;.exe 是 Windows 上可执行文件后缀名,Linux 上可执...
根据 glibc 的 release history 整理出自 2.17 以来的版本与 linux 内核版本的兼容性: glibc 版本 兼容的 linux 内核版本 2.17 ~ 2.19 >= 2.6.16 2.20 ~ 2.23 >...
1 Preface 1.1 参数值类型 参数名都是大小写不敏感的(case-insensitive),参数值类型分为 boolean、string、integer、floating point、enumerated (enum) 这几种,下面分别对几种参数值类型的写法进行说明(注:参数值需要引号包裹的地方均指的单引号,不能使用双引号): Boolean: 布尔类型,合法值包括 on...
1 配置类型 全局配置(Global Configuration) 作用范围:所有节点。 修改方式:初始化(bootstrap)前,修改配置文件中的 bootstrap.dcs 部分;初始化后,通过 patronictl edit-config 命令或 REST 接口 /config 修改...
1 简介 主节点持续归档/传送 WAL,备节点持续恢复/接收 WAL 并回放(replay),以此实现一个高可用集群,这种方式叫做 log shipping,这样的备节点也叫做 warm standby,如果备节点还可以接受 只读查询,则叫做 hot standby。 PostgreSQL 支持 2 种级别的 log shipping: 文件级(file-based):...