文章目录
- 一、下载源码
- 二、下载Visual Studio
- 三、编译安装
- 四、启动数据库
- 五、使用入门
源码学习的第一步是源码安装,只有用源码安装才能之后在此基础上阅读、调试、开发系统。
我这里安装的是PostgreSQL 13.2版本,其他版本大同小异
一、下载源码
比如13.2版本的,下载这两种压缩包都可以,我选择的是tar.gz的压缩包,到windows平台解压。源码其实是针对各自操作系统平台均适用的,只是编译出来的可执行文件会受限于平台,所以这里不区分到底什么操作系统。
二、下载Visual Studio
虽然这东西很大,但由于是官方文档要求,只有这个可以最简单地满足编译的工具要求,所以还是牺牲一点磁盘空间下载一个吧,具体版本无所谓,我这里是2019 community版。直接在网上搜索安装包即可,下好就能用。
下载完以后,先不用急着运行,打开x86_x64 Cross Tools Command Prompt for VS
工具。可以直接在开始菜单中寻找到这个工具。打开之后长这个样子。
三、编译安装
这一节主要是输入一堆命令即可,文字只是解释在干嘛,如果不想看文字,可以直接复制红色的命令
依次输入即可。
- 假设我们把解压后的postgresql 13.2的压缩包放在了 E:/ 这个目录下,所以我们先要切换到所在的E盘,在第二步打开的这个黑框中输入:
E:
。如果就是安装在C盘,就不需要这个步骤。然后输入cd postgresql-13.2\src\tools\msvc
,这就到了我们之后操作的工作目录。 - 如果打开这个目录,可以看到很多以pl结尾的文件,这些文件就是我们接下来要执行的文件。可以通过输入
perl -v
试一下电脑上是否有perl。如果有,则下一步,如果没有,可以看看这个:perl安装。 - 输入build,即可开始构建,实际相当于perl build.pl,执行这个pl文件。执行这个文件可以带一个参数,如果输入build DEBUG,会以可调试的方式编译数据库。我们因为要研究并调试开发源码,所以使用
build DEBUG
这个命令。 - 测试是否编译成功,可以输入
vcregress check
,如果全部通过就是编译成功。这个默认是并行模式的,部分系统上可能有两个parallel相关的测试是失败的,但这个不影响我们之后的使用。如果只想测试串行的功能,可以输入vcregress check serial
。 - 安装数据库,输入install + 目录。例如你想要安装到E:\pgdb文件夹,可以输入
install E:\pgdb
。
四、启动数据库
- 要切换目录到我们安装数据库的目标文件夹,这里是E:/pgdb,切换方式同理,如果不在一个盘,要先输入
E:
,然后cd pgdb
。然后再进入文件下面的bin目录,输入cd bin
,这里包含我们要执行的程序。 - 输入:
initdb -D ../data
,这一步是手动初始化数据库。 - 输入:
pg_ctl start -l logfile -D ../data
,这一步是启动初始化完成的数据库,并且把日志记录在logfile文件中。 - 输入:
psql -d postgres
,可以启动一个数据库,如果像下图所示,就是成功了。至于为什么是postgres,因为这个是init时候默认创建好的一个数据库名称。
五、使用入门
- 如果要创建其他数据库,可以在四中第三步之后,输入createdb + dbname,就会创建名字为dbname的一个数据库。这里我是创建了一个名字为“dddd”的数据库。如果报错,就检查是否成功启动了服务器,重新输入
pg_ctl start -l logfile -D ../data
。 - 服务器的启动、停止、再启动:
启动:pg_ctl start -l logfile -D ../data
停止:pg_ctl stop -D ../data
重新启动:pg_ctl restart -l logfile -D ../data
- 简单使用一下数据库
创建自己的第一个表
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。
- 关掉这个窗口,如果下次打开,需要重新执行:
pg_ctl start -l logfile -D ../data
,启动数据库服务器,然后用psql命令连接自己的数据库,但记住不需要重新执行init初始化。
如果上面这些步骤都是成功执行,那么恭喜你,你已经成功通过源码安装了PostgreSQL,可以开始折腾你的系统了。
这篇是PostgreSQL系统学习专栏正式开启的第一篇,之后还会再更新一些。