从源代码安装的 PostgreSQL - 'copy_file_range' 错误的类型冲突

PostgreSQL installing from source - conflicting types for 'copy_file_range' error

我目前正在尝试从源代码安装以前版本的 Postgresql,但是在解压缩 tarball 并运行使用 "make" 命令创建二进制文件后,我 运行 进入这个错误:

copy_fetch.c:161:1: error: conflicting types for ‘copy_file_range’ copy_file_range(const char *path, off_t begin, off_t end, bool trunc) ^~~~~~~~~~~~~~~ In file included from copy_fetch.c:16:0: /usr/include/unistd.h:1110:9: note: previous declaration of ‘copy_file_range’ was here

我可以在 Postgres 留言板上看到关于重命名 copy_file_range() 的讨论:https://www.postgresql.org/message-id/E1eWpqd-00067Q-2b%40gemulon.postgresql.org

有谁知道解决这个问题需要哪些步骤?我尝试安装的 Postgres 版本是 9.5。

您应该使用 9.5.11 或已应用修复程序的更高版本。

如果您坚持使用旧版本,则必须自己申请the patch