dram.me

Postgres95 initdb实现

initdb是初始化PostgreSQL cluster的命令,PG95由SHELL脚本实现,是对postgres -boot命令的封装,具体流程如下:

在代码中可以看到,postgres也能够直接执行命令,例如openinsert,还有刚才提及的vacuum,但感觉与psql不同,这留待以后分析。

有一个细节,backend/catalog/各头文件的结构体和/bin/pg_dump/pg_dump.h并不一致,总体感觉pg_dump.h中表结构的定义也可以基于backend/catalog/目录中的内容通过脚本生成。