文章目录

  • 一、下载源码
  • 二、下载Visual Studio
  • 三、编译安装
  • 四、启动数据库
  • 五、使用入门



源码学习的第一步是源码安装,只有用源码安装才能之后在此基础上阅读、调试、开发系统。


我这里安装的是PostgreSQL 13.2版本,其他版本大同小异

一、下载源码

比如13.2版本的,下载这两种压缩包都可以,我选择的是tar.gz的压缩包,到windows平台解压。源码其实是针对各自操作系统平台均适用的,只是编译出来的可执行文件会受限于平台,所以这里不区分到底什么操作系统。

SystemUI 源码分析 sgwin源码_perl

二、下载Visual Studio

虽然这东西很大,但由于是官方文档要求,只有这个可以最简单地满足编译的工具要求,所以还是牺牲一点磁盘空间下载一个吧,具体版本无所谓,我这里是2019 community版。直接在网上搜索安装包即可,下好就能用。

下载完以后,先不用急着运行,打开x86_x64 Cross Tools Command Prompt for VS工具。可以直接在开始菜单中寻找到这个工具。打开之后长这个样子。

SystemUI 源码分析 sgwin源码_源码_02

三、编译安装

这一节主要是输入一堆命令即可,文字只是解释在干嘛,如果不想看文字,可以直接复制红色的命令依次输入即可。

  1. 假设我们把解压后的postgresql 13.2的压缩包放在了 E:/ 这个目录下,所以我们先要切换到所在的E盘,在第二步打开的这个黑框中输入:E:。如果就是安装在C盘,就不需要这个步骤。然后输入cd postgresql-13.2\src\tools\msvc,这就到了我们之后操作的工作目录。
  2. 如果打开这个目录,可以看到很多以pl结尾的文件,这些文件就是我们接下来要执行的文件。可以通过输入 perl -v 试一下电脑上是否有perl。如果有,则下一步,如果没有,可以看看这个:perl安装
  3. 输入build,即可开始构建,实际相当于perl build.pl,执行这个pl文件。执行这个文件可以带一个参数,如果输入build DEBUG,会以可调试的方式编译数据库。我们因为要研究并调试开发源码,所以使用 build DEBUG 这个命令。
  4. 测试是否编译成功,可以输入vcregress check,如果全部通过就是编译成功。这个默认是并行模式的,部分系统上可能有两个parallel相关的测试是失败的,但这个不影响我们之后的使用。如果只想测试串行的功能,可以输入vcregress check serial
  5. 安装数据库,输入install + 目录。例如你想要安装到E:\pgdb文件夹,可以输入install E:\pgdb

四、启动数据库

  1. 要切换目录到我们安装数据库的目标文件夹,这里是E:/pgdb,切换方式同理,如果不在一个盘,要先输入E:,然后cd pgdb。然后再进入文件下面的bin目录,输入cd bin,这里包含我们要执行的程序。
  2. 输入:initdb -D ../data,这一步是手动初始化数据库。
  3. 输入:pg_ctl start -l logfile -D ../data,这一步是启动初始化完成的数据库,并且把日志记录在logfile文件中。
  4. 输入:psql -d postgres,可以启动一个数据库,如果像下图所示,就是成功了。至于为什么是postgres,因为这个是init时候默认创建好的一个数据库名称。

五、使用入门

  1. 如果要创建其他数据库,可以在四中第三步之后,输入createdb + dbname,就会创建名字为dbname的一个数据库。这里我是创建了一个名字为“dddd”的数据库。如果报错,就检查是否成功启动了服务器,重新输入pg_ctl start -l logfile -D ../data
  2. 服务器的启动、停止、再启动:
    启动:pg_ctl start -l logfile -D ../data 停止:pg_ctl stop -D ../data 重新启动:pg_ctl restart -l logfile -D ../data
  3. 简单使用一下数据库
    创建自己的第一个表
create table Student(
name varchar(20),
id int,
department varchar(30)
);

插入几条数据

insert into Student values 
('xql',1,'info'), 
('test',2,'math'),
('temp',3, 'ai');

查询一下数据库Student表

select * from Student;
#结果为
 name | id | department
------+----+------------
 xql  |  1 | info
 test |  2 | math
 temp |  3 | ai
(3 rows)

退出数据库,输入\q或者ctrl+c。

  1. 关掉这个窗口,如果下次打开,需要重新执行:pg_ctl start -l logfile -D ../data,启动数据库服务器,然后用psql命令连接自己的数据库,但记住不需要重新执行init初始化。

如果上面这些步骤都是成功执行,那么恭喜你,你已经成功通过源码安装了PostgreSQL,可以开始折腾你的系统了。
这篇是PostgreSQL系统学习专栏正式开启的第一篇,之后还会再更新一些。