Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / Oracle Cloud Marketplace / PostgreSQL® (Arm64)

In Oracle review

DCA Hardened Relational Database for PostgreSQL® (Arm64) — Support & Quick Start

A hardened, CVE-patched virtual machine image running PostgreSQL® 16 — the open-source relational database — on Oracle Linux 9 for Arm64, built for OCI's Ampere A1 shapes.

Submitted for Oracle certification review. This listing is not in the public Oracle Cloud Marketplace catalog yet; Oracle publishes it automatically when certification completes, and this page then links to it. The procedure below is the one submitted with the listing.

At a glance

StatusSubmitted for Oracle certification review
Version16.0.2
PlatformOracle Linux 9
Ports open in the host firewallSSH (22/tcp), 5432/tcp
CategoryDatabases
Upstream licencePostgreSQL
PricingPay-as-you-go software fee per OCPU-hour, billed by Oracle on your OCI invoice — see the listing's Pricing tab

Quick start

This is the listing's usage information, verbatim. Every command in it is run by our QA on a freshly launched instance before an image version can publish, so the text and the tested procedure cannot drift apart.

After launch:

  1. Connect over SSH as the opc user with the key you supplied at launch:
    ssh opc@PUBLIC_IP
  2. PostgreSQL 16 runs as a systemd service bound to localhost only (TCP 5432; peer auth on the local socket, scram-sha-256 over TCP). Check status:
    sudo systemctl status postgresql
  3. The postgres role's password was generated uniquely for this instance at first boot. Read it (root only):
    sudo cat /root/.pg_default_credentials
  4. Smoke-test from the instance, as the postgres OS user (peer auth, no password; a 'could not change directory' notice is harmless) and over TCP with the generated password:
    sudo -u postgres psql -Atc 'SELECT 1'
    PGPASSWORD='YOUR_PASSWORD' psql -h 127.0.0.1 -U postgres -Atc 'SHOW server_version'
  5. To reach the server from your application tier, expose it deliberately: listen on all interfaces, allow your application CIDR with SCRAM, restart:
    sudo -u postgres psql -c "ALTER SYSTEM SET listen_addresses = '*';"
    echo 'host all all APPLICATION_CIDR scram-sha-256' | sudo tee -a /var/lib/pgsql/data/pg_hba.conf
    sudo systemctl restart postgresql

    Port 5432 is already permitted in the host firewall. Restrict it in your VCN security list or NSG to the application tier's CIDR; never expose it to the internet.

  6. Data lives in /var/lib/pgsql/data (postgresql.conf, pg_hba.conf and postgresql.auto.conf, which holds the ALTER SYSTEM overrides, are in that directory). For anything beyond evaluation, attach a block volume, stop the service, move the directory onto it and mount it at that path before loading data.
  7. Rotate the generated password at any time:
    sudo -u postgres psql -c "ALTER ROLE postgres WITH PASSWORD 'your-strong-password';"

The image is CVE-patched at build time. Apply ongoing updates, including PostgreSQL 16 minor releases from the Oracle Linux 9 AppStream, with:

sudo dnf -y update

What the image provides

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) or use the contact form. Include the listing name, your OCI region, the instance OCID and the output of sudo journalctl -u <service> -n 100 for the unit named in the quick start.