PostgreSQL源码学习 win10源码编译安装
源码学习的第一步是源码安装,只有用源码安装才能之后在此基础上阅读、调试、开发系统。
我这里安装的是PostgreSQL 13.2版本,其他版本大同小异,如有出入,以最新版本的文档为准:PostgreSQL最新版文档
一、下载源码
源码下载链接,内含各自版本的源码:PG源码
比如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安装。
四、启动数据库
- 要切换目录到我们安装数据库的目标文件夹,这里是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。
4. 关掉这个窗口,如果下次打开,需要重新执行:pg_ctl start -l logfile -D ../data
,启动数据库服务器,然后用psql命令连接自己的数据库,但记住不需要重新执行init初始化。
如果上面这些步骤都是成功执行,那么恭喜你,你已经成功通过源码安装了PostgreSQL
,可以开始折腾你的系统了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步