+
PostgreSQL 16
PostgreSQL is a powerful, open-source object-relational database system (no extensions).
@@ -513,6 +555,27 @@ class="absolute top-2 right-2 p-1.5 rounded hover:bg-neutral-200 dark:hover:bg-c
Date: Wed, 4 Feb 2026 00:35:01 +0100
Subject: [PATCH 2/3] feat(database): add official postgres 18 support
- postgres versions 18 and higher require a different volume mount path, so we need to adjust the path when creating them
---
app/Models/StandalonePostgresql.php | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/app/Models/StandalonePostgresql.php b/app/Models/StandalonePostgresql.php
index be86438fe..ea59ccaa9 100644
--- a/app/Models/StandalonePostgresql.php
+++ b/app/Models/StandalonePostgresql.php
@@ -28,9 +28,23 @@ class StandalonePostgresql extends BaseModel
protected static function booted()
{
static::created(function ($database) {
+ // This is really stupid and it took me 1h to figure out why the image was not loading properly. This is exactly the reason why we need to use the action pattern because Model events and Accessors are a fragile mess!
+ $image = (string) ($database->getAttributes()['image'] ?? '');
+ $majorVersion = 0;
+
+ if (preg_match('/:(\d+)/', $image, $matches)) {
+ $majorVersion = (int) $matches[1];
+ }
+
+ // PostgreSQL 18+ uses /var/lib/postgresql as mount path
+ // Older versions use /var/lib/postgresql/data
+ $mountPath = $majorVersion >= 18
+ ? '/var/lib/postgresql'
+ : '/var/lib/postgresql/data';
+
LocalPersistentVolume::create([
'name' => 'postgres-data-'.$database->uuid,
- 'mount_path' => '/var/lib/postgresql/data',
+ 'mount_path' => $mountPath,
'host_path' => null,
'resource_id' => $database->id,
'resource_type' => $database->getMorphClass(),
From 807cb4349d46f2f7c33d04d02e75b70395191a74 Mon Sep 17 00:00:00 2001
From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
Date: Wed, 4 Feb 2026 17:17:51 +0100
Subject: [PATCH 3/3] feat(ui): use 2 column layout
---
resources/views/livewire/project/new/select.blade.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/resources/views/livewire/project/new/select.blade.php b/resources/views/livewire/project/new/select.blade.php
index 18a495d2d..8f97c22d8 100644
--- a/resources/views/livewire/project/new/select.blade.php
+++ b/resources/views/livewire/project/new/select.blade.php
@@ -449,7 +449,7 @@ function searchResources() {
If you need extra extensions, you can select Supabase PostgreSQL (or others), otherwise select
PostgreSQL
18 (default).
-