[PR #896] [CLOSED] PostgreSQL Support #1042

Closed
opened 2026-02-04 19:12:43 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/pelican-dev/panel/pull/896
Author: @PseudoResonance
Created: 1/8/2025
Status: Closed

Base: mainHead: support-postgresql


📝 Commits (8)

  • fbb70f9 PostgreSQL database support
  • 03abc06 Address GitHub actions results
  • 1a8a6f6 Address GitHub tests/lint
  • b8e343c Correct auto-format/filename/composer dependencies
  • be8b7c0 Revert "PostgreSQL database support" migrations
  • 104826e Add dumped PostgreSQL schema
  • d22244c Revert remaining migrations
  • 754a28d Partially remove DynamicDatabaseConnection and define all database defaults in enum class

📊 Changes

22 files changed (+3177 additions, -252 deletions)

View changed files

📝 .github/workflows/build.yaml (+3 -3)
📝 .github/workflows/ci.yaml (+3 -3)
📝 .github/workflows/lint.yaml (+2 -2)
📝 .github/workflows/release.yaml (+1 -1)
📝 Dockerfile (+2 -2)
📝 app/Console/Commands/Environment/DatabaseSettingsCommand.php (+73 -134)
app/Enums/DatabaseDriver.php (+124 -0)
📝 app/Extensions/DynamicDatabaseConnection.php (+5 -11)
📝 app/Filament/Admin/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php (+15 -2)
📝 app/Filament/Admin/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php (+2 -2)
📝 app/Livewire/Installer/Steps/DatabaseStep.php (+26 -34)
📝 app/Livewire/Installer/Steps/RequirementsStep.php (+1 -0)
📝 app/Models/Database.php (+107 -20)
📝 app/Models/DatabaseHost.php (+11 -1)
📝 app/Services/Databases/DatabaseManagementService.php (+1 -0)
📝 app/Services/Databases/DatabasePasswordService.php (+13 -4)
📝 app/Services/Databases/Hosts/HostCreationService.php (+1 -0)
📝 app/Transformers/Api/Client/DatabaseTransformer.php (+1 -0)
📝 config/database.php (+52 -33)
📝 database/Factories/DatabaseHostFactory.php (+1 -0)

...and 2 more files

📄 Description

Adds PostgreSQL as an alternative database option. Additionally, adds configurable driver option to the DynamicDatabaseConnection part.

The database driver type is saved in a new column driver of the DatabaseHost, allowing for potentially other databases in the future if desired.

I've tried to test everything I could think of, but please let me know if there's anything I missed, or if something should be adjusted. I want this to be as minimal of a maintenance burden as possible, but I do really want Postgres support because there's much better support for running it in a Kubernetes HA setup with CloudnativePG.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/pelican-dev/panel/pull/896 **Author:** [@PseudoResonance](https://github.com/PseudoResonance) **Created:** 1/8/2025 **Status:** ❌ Closed **Base:** `main` ← **Head:** `support-postgresql` --- ### 📝 Commits (8) - [`fbb70f9`](https://github.com/pelican-dev/panel/commit/fbb70f990768a068074168258588bb6d1474fc9c) PostgreSQL database support - [`03abc06`](https://github.com/pelican-dev/panel/commit/03abc06fa4e4f13b3194daae9e22aa5946402227) Address GitHub actions results - [`1a8a6f6`](https://github.com/pelican-dev/panel/commit/1a8a6f63777b7576a4e5aa757b0b84b1c534fb0a) Address GitHub tests/lint - [`b8e343c`](https://github.com/pelican-dev/panel/commit/b8e343c8ed0d5cb1f5907683c87e46faa33bc997) Correct auto-format/filename/composer dependencies - [`be8b7c0`](https://github.com/pelican-dev/panel/commit/be8b7c0c967fe486a0c036400ef6fd5dd8893180) Revert "PostgreSQL database support" migrations - [`104826e`](https://github.com/pelican-dev/panel/commit/104826ed6da9df4801e5d3d05bf8352adbbfac04) Add dumped PostgreSQL schema - [`d22244c`](https://github.com/pelican-dev/panel/commit/d22244c47c9f7c76f49a5716447b75dc8e9bdc06) Revert remaining migrations - [`754a28d`](https://github.com/pelican-dev/panel/commit/754a28d6816528ea56ce42279e5296be4f5b6348) Partially remove DynamicDatabaseConnection and define all database defaults in enum class ### 📊 Changes **22 files changed** (+3177 additions, -252 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/build.yaml` (+3 -3) 📝 `.github/workflows/ci.yaml` (+3 -3) 📝 `.github/workflows/lint.yaml` (+2 -2) 📝 `.github/workflows/release.yaml` (+1 -1) 📝 `Dockerfile` (+2 -2) 📝 `app/Console/Commands/Environment/DatabaseSettingsCommand.php` (+73 -134) ➕ `app/Enums/DatabaseDriver.php` (+124 -0) 📝 `app/Extensions/DynamicDatabaseConnection.php` (+5 -11) 📝 `app/Filament/Admin/Resources/DatabaseHostResource/Pages/CreateDatabaseHost.php` (+15 -2) 📝 `app/Filament/Admin/Resources/DatabaseHostResource/Pages/EditDatabaseHost.php` (+2 -2) 📝 `app/Livewire/Installer/Steps/DatabaseStep.php` (+26 -34) 📝 `app/Livewire/Installer/Steps/RequirementsStep.php` (+1 -0) 📝 `app/Models/Database.php` (+107 -20) 📝 `app/Models/DatabaseHost.php` (+11 -1) 📝 `app/Services/Databases/DatabaseManagementService.php` (+1 -0) 📝 `app/Services/Databases/DatabasePasswordService.php` (+13 -4) 📝 `app/Services/Databases/Hosts/HostCreationService.php` (+1 -0) 📝 `app/Transformers/Api/Client/DatabaseTransformer.php` (+1 -0) 📝 `config/database.php` (+52 -33) 📝 `database/Factories/DatabaseHostFactory.php` (+1 -0) _...and 2 more files_ </details> ### 📄 Description Adds PostgreSQL as an alternative database option. Additionally, adds configurable driver option to the DynamicDatabaseConnection part. The database driver type is saved in a new column `driver` of the DatabaseHost, allowing for potentially other databases in the future if desired. I've tried to test everything I could think of, but please let me know if there's anything I missed, or if something should be adjusted. I want this to be as minimal of a maintenance burden as possible, but I do really want Postgres support because there's much better support for running it in a Kubernetes HA setup with CloudnativePG. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-04 19:12:43 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/panel#1042