OpenVMS port

From PostgreSQL wiki
Jump to navigationJump to search

This page keeps track of the status of porting PostgreSQL to the OpenVMS platform.

OpenVMS Port

GNV

GNV provides a Unix-like environment on OpenVMS. Many Unix utilities are provided by GNV, including bash, awk, sed, tar, gzip, etc. Note that gcc/g++ is a wrapper around the native OpenVMS compiler.

Code changes

  • fork() on OpenVMS is like vfork() on Unix. Note that Win32 also does not support fork(), so this issue is not new to PostgreSQL. We will need to write a new implementation of internal_forkexec() (in src/backend/postmaster/postmaster.c) that calls OpenVMS specific routines like lib$spawn(), or sys$creprc() for detached process.
  • Directory separator on OpenVMS is a dot (.), which is different than a / on Unix. Also, ODS-2 disks have more restrictions on filename; ODS-5 disks allow longer filenames, more legal characters within the filenames, and case preserving filenames.