Skip to content

Commit 95da31e

Browse files
authored
Add PostgreSQL 18 (#961)
1 parent 3d3e93e commit 95da31e

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

app/Providers/ServiceTypeServiceProvider.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ private function databases(): void
7878
->label('PostgreSQL')
7979
->handler(Postgresql::class)
8080
->versions([
81+
'18',
8182
'17',
8283
'16',
8384
'15',
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
3+
# Stop and purge any existing PostgreSQL installation
4+
sudo systemctl stop postgresql 2>/dev/null || true
5+
sudo service postgresql stop 2>/dev/null || true
6+
7+
sudo DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-* 2>/dev/null || true
8+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoremove -y 2>/dev/null || true
9+
sudo DEBIAN_FRONTEND=noninteractive apt-get autoclean 2>/dev/null || true
10+
11+
# Remove old repository and keys
12+
sudo rm -f /etc/apt/sources.list.d/pgdg.list
13+
sudo rm -f /usr/share/keyrings/postgresql-archive-keyring.gpg
14+
sudo apt-key del ACCC4CF8 2>/dev/null || true
15+
16+
sudo DEBIAN_FRONTEND=noninteractive apt-get update
17+
18+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget lsb-release gnupg
19+
20+
# Import PostgreSQL GPG key to modern keyring location
21+
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-archive-keyring.gpg
22+
23+
# Add PostgreSQL repository with signed-by directive
24+
CODENAME=$(lsb_release -cs)
25+
echo "deb [signed-by=/usr/share/keyrings/postgresql-archive-keyring.gpg] https://apt.postgresql.org/pub/repos/apt ${CODENAME}-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
26+
27+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
28+
29+
sudo DEBIAN_FRONTEND=noninteractive apt-get install postgresql-18 -y
30+
31+
systemctl status postgresql
32+
33+
sudo -u postgres psql -c "SELECT version();"

0 commit comments

Comments
 (0)