OpenVMS 端口

来自 PostgreSQL 维基
跳转至导航跳转至搜索

此页面会跟踪将 PostgreSQL 移植到 OpenVMS 平台的状态。

OpenVMS 端口

GNV

GNV 在 OpenVMS 上提供类 Unix 环境。GNV 提供了许多 Unix 实用程序,包括 bash、awk、sed、tar、gzip 等。请注意,gcc/g++ 是本机 OpenVMS 编译器的包装器。

代码更改

  • OpenVMS 上的 fork() 类似于 Unix 上的 vfork()。请注意,Win32 也并不支持 fork(),因此该问题对于 PostgreSQL 来说并不新鲜。我们需要编写新的 internal_forkexec() 实现(位于 src/backend/postmaster/postmaster.c 中),该实现调用 OpenVMS 专用例程,例如 lib$spawn()sys$creprc() 用于分离进程。
  • OpenVMS 上的目录分隔符为句点 (.),这不同于 Unix 上的 /。另外,ODS-2 磁盘对文件名有更多限制;ODS-5 磁盘允许更长的文件名、文件名中的更多合法字符,并且保留大小写敏感的文件名。