• 第3课 PostgreSQL代码结构

    日期:

    序言 PostgreSQL是遵照BSD开源协议类似的开源协议PostgreSQL License发布。该许可证可以在PostgreSQL源代码的COPYRIGHT文件中找到。 从该协议可以看到,开发人员或者商业组织只要遵循该协议,便可以自由地使用PostgreSQL,可以完全控制这些第三方代码,在必...

  • 第 4 课 PostgreSQL 安装最新的版本

    日期:

    1. 打开官网 https://www.postgresql.org/ 2. 点击download 3. 选择版本类型 根据实际情况选择你的目标主机类型,我的是Centos,所以选择Red Hat. 4. 选择系统配置 选择后会生成对对应的rpm URL地址。 5. 安装rpm 复制rpm命令,在系统下执行,保证主机有联网...

  • 第 5 课 PostgreSQL 编译源代码进行开发

    日期:

    1. 下载源代码 首先在https://github.com/上找到postgre项目源码,我帮你找到了: https://github.com/postgres/postgres clone 源代码:点击下图位置,copy仓库URL。 在Linux下clone代码。 git clone https://github.com/postgres/postgres.git 2. 配置 如...

  • 第 6 课 PostgreSQL 系统表介绍

    日期:

    什么是系统表 在关系数据库中,为了实现数据库系统的控制,必须提供数据字典的功能。数据字典不仅存储各种对象的描述信息,而且存储系统管理所需的各种对象的细节信息。从内容来看,数据字典包含数据库系统中所有对象及其属性的描述信息、对象之间关系的描述...

  • 第 7 课 PostgreSQL 数据库、模式、表、空间、用户间的关系

    日期:

    什么是schema? 这里只讨论数据库中的schema,而不讨论XML中的schema。在wiki上,这样解释schema: In a relational database, the schema defines the tables, views, indexes, packages,procedures, functions, queues, triggers, types, sequences, materi...

  • 第 8 课 PostgreSQL 事务介绍

    日期:

    PostgreSQL事务的隔离级别目前有4种,分别是:读未提交,读已提交,可重复读,串行化。 duyeweb=# \h beginCommand: BEGINDescription: start a transaction blockSyntax:BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]where transaction_mode...

  • 第 9 课 PostgreSQL 4种进程启动方式

    日期:

    Postgres在启动后,可分别以一下四种形式启动进程: SubPostmasterMain AuxiliaryProcessMain PostgresMain PostmasterMain SubPostmasterMain(--fork) 指明由postmaster派生 设置进程ID 初始化内存池 处理输入参数 运行相应的backend或子进程 forkbackend...

  • 第 10 课 PostgreSQL 在内核增加一个配置参数

    日期:

    1. 在配置文件增加你需要的参数 例如我增加一个参数,配置文件:data/postgresql.conf, data目录怎么来的,可以参考《第5课 PostgreSQL 编译源代码进行开发》 2. 修改源代码 src/backend/utils/misc/guc.c,在这个文件中,针对不同的数据类型(bool,int, do...

  • 第 11 课 PostgreSQL 增加一个内核C函数

    日期:

    第一步 实现函数 增加的函数都放在src/backend/utils目录下,我要实现的函数是从服务器查询,并返回给调用者。 C函数原型: char * sys_test(const uint32 id, const uint32 age) 开发者需要根据自己的需要,选择目录和文件: 我需要实现的功能在现有的文件...

  • 第 12 课 PostgreSQL 认证方式

    日期:

    安装成功后,打开:/var/lib/pgsql/10/data/pg_hba.conf # TYPE DATABASE USER ADDRESS METHOD # local is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connection...