# Install PostgreSQL 16.9 on CentOS 8

# Install PostgreSQL 16.9 on CentOS 8

# Install PostgreSQL 16.9 on CentOS 8 / CentOS Stream 8

## 1. Disable Built‑in PostgreSQL Module

```bash
sudo dnf -qy module disable postgresql

```

## 2. Add Official PostgreSQL (PGDG) Repo

```bash
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

```

## 3. Install PostgreSQL 16

```bash
sudo dnf install -y postgresql16 postgresql16-server

```

## 4. Initialize PostgreSQL Database

```bash
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

```

## 5. Start &amp; Enable PostgreSQL Service

```bash
sudo systemctl enable --now postgresql-16

```

## 6. Verify Version

```bash
psql --version

```

## 7. Enable Remote Access (Optional)

Edit `postgresql.conf`:

```bash
sudo nano /var/lib/pgsql/16/data/postgresql.conf

```

Change:

```
listen_addresses = '*'

```

Edit `pg_hba.conf`:

```bash
sudo nano /var/lib/pgsql/16/data/pg_hba.conf

```

Add:

```
host    all    all    0.0.0.0/0    md5

```

or

```
host    all            postgres        0.0.0.0/0                md5
host    replication    debezium         0.0.0.0/0               md5
host    all            debezium         0.0.0.0/0               md5


```

Restart:

```bash
sudo systemctl restart postgresql-16

```

## 8. Open Firewall Port (Optional)

```bash
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

```

## 9. Create User &amp; Database

```bash
sudo -i -u postgres
createuser debezium -P
createdb mydb -O debezium
exit

```

---

**PostgreSQL 16.9 is now installed successfully.**