Database 如何将普通文件编译成PostgreSQL源代码?

Database 如何将普通文件编译成PostgreSQL源代码?,database,postgresql,database-design,Database,Postgresql,Database Design,我有一些修改PostgreSQL的想法,所以我在Windows上设置了一个合适的开发环境。现在,我想了解如何为它贡献新代码 我从后端复制了一些文件并重命名了它们:目标是用新代码编译旧代码,以便PostgreSQL能够识别这一点。我想另一种选择是创建一个系统副本并编译这两个,一个有修改,一个没有修改,这样我可以并排比较,但我不确定如何配置pgAdmin来识别两者。为了提供更多细节,我正在后端文件夹中处理PostgreSQL的索引 我原以为这些都是很简单的事情,但我有这么多的麻烦。我怎样才能完成这项

我有一些修改PostgreSQL的想法,所以我在Windows上设置了一个合适的开发环境。现在,我想了解如何为它贡献新代码

我从后端复制了一些文件并重命名了它们:目标是用新代码编译旧代码,以便PostgreSQL能够识别这一点。我想另一种选择是创建一个系统副本并编译这两个,一个有修改,一个没有修改,这样我可以并排比较,但我不确定如何配置pgAdmin来识别两者。为了提供更多细节,我正在后端文件夹中处理PostgreSQL的索引


我原以为这些都是很简单的事情,但我有这么多的麻烦。我怎样才能完成这项任务?任何相关资料都将不胜感激。

如果我没有看错,您已经在
src/backend
中修改了一些源代码,并希望将您的修改应用于现有的PostgreSQL安装

你不能那样做。您需要使用包含修改的源代码编译一个新的PostgreSQL二进制文件(
postgres.exe
)。然后安装您编译的新PostgreSQL发行版。有关编译windows的说明,请参阅。请注意,并非所有PostgreSQL版本都支持所有Visual Studio和Visual Studio Express版本,因此请使用您正在编译的PostgreSQL支持的Visual Studio。您可能还需要编译和/或下载一些库依赖项,具体取决于所需的功能集—例如zlib。(在Linux上这要容易得多,只有Windows版本有点烦人)

如果修改后的源代码与当前运行的PostgreSQL安装的主版本(如9.4或9.6)相同,则可以停止当前运行的安装并启动修改后的二进制文件。但前提是您没有更改与磁盘格式相关的任何内容,否则新的二进制文件将与旧的数据格式不兼容。显然,在数据上运行实验性PostgreSQL构建之前,您还应该进行备份

另见: