Krótka odpowiedź: bazę PostgreSQL tworzysz w Plesku tak samo jak bazę MySQL: Witryny i domeny → Bazy danych → Dodaj bazę danych, typ PostgreSQL, nazwa bazy oraz użytkownik z hasłem. Aplikacja na tym samym serwerze łączy się z hostem localhost (lub 127.0.0.1) na porcie 5432. Najwygodniej przekazać jej to jednym adresem postgres://użytkownik:hasło@127.0.0.1:5432/baza w zmiennej środowiskowej. Baza trafia do kopii zapasowej subskrypcji razem z plikami strony.
PostgreSQL czy MariaDB/MySQL?
WordPress, WooCommerce i PrestaShop potrzebują MySQL/MariaDB — dla nich wybór jest prosty. PostgreSQL wybiera się najczęściej do własnych aplikacji:
Tabelę można przewijać w poziomie.
| PostgreSQL | MariaDB / MySQL | |
|---|---|---|
| Typowe zastosowanie | aplikacje w Node.js, Ruby on Rails, Django, Laravel; analityka | CMS i sklepy (WordPress, WooCommerce, PrestaShop) |
| Typy danych | JSONB, tablice, zakresy, typy geograficzne (PostGIS) | JSON, podstawowe typy |
| Zgodność z SQL | bardzo dobra, transakcje także dla zmian schematu | dobra, więcej własnych rozszerzeń składni |
| Obsługa w Plesku | tworzenie baz i użytkowników, kopie zapasowe | to samo plus phpMyAdmin |
Utworzenie bazy i użytkownika w Plesku
- Otwórz Witryny i domeny i przy domenie wybierz Bazy danych.
- Kliknij Dodaj bazę danych.
- Wpisz nazwę bazy (np.
app_prod) i jako serwer bazy wybierz PostgreSQL. - Utwórz użytkownika bazy: nazwa, silne hasło (najlepiej wygenerowane przez panel).
- Zapisz. Baza i użytkownik są gotowe od razu.
Dla środowiska testowego utwórz osobną bazę i osobnego użytkownika (np. app_staging) — nie używaj bazy produkcyjnej do testów.
Host, port i dane dostępowe
Tabelę można przewijać w poziomie.
| Parametr | Wartość |
|---|---|
| Host | 127.0.0.1 (albo localhost) |
| Port | 5432 |
| Baza | nazwa podana przy tworzeniu |
| Użytkownik / hasło | użytkownik bazy z panelu |
Adres połączenia (connection string) w standardowym formacie:
postgres://app_user:TWOJE_HASLO@127.0.0.1:5432/app_prod
Jeśli hasło zawiera znaki specjalne (@, :, /), zakoduj je w adresie (np. @ → %40). Adres zapisz w zmiennej środowiskowej aplikacji, np. DATABASE_URL, nie w kodzie.
Połączenie sprawdzisz z konsoli SSH:
PGPASSWORD='TWOJE_HASLO' psql -h 127.0.0.1 -U app_user -d app_prod -c 'select version();'
Połączenie z aplikacji Node.js
Biblioteka pg w czystym JavaScripcie nie wymaga kompilacji:
// npm install pg
const { Pool } = require('pg');
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
max: 5, // na hostingu wystarczy kilka połączeń
});
async function main() {
const { rows } = await pool.query('select now() as teraz');
console.log(rows[0].teraz);
}
main().finally(() => pool.end());
Jak uruchomić samą aplikację w panelu, opisujemy w poradniku Node.js w Plesku.
Połączenie z aplikacji Ruby
W Ruby standardem jest gem pg (wymaga kompilacji przy instalacji):
# Gemfile: gem "pg"
require "pg"
conn = PG.connect(ENV.fetch("DATABASE_URL"))
puts conn.exec("select now() as teraz").first["teraz"]
conn.close
W Ruby on Rails wystarczy DATABASE_URL w zmiennych środowiskowych i adapter postgresql w config/database.yml. Gemy natywne i ich ograniczenia na hostingu opisujemy w poradniku Ruby w Plesku.
Kopia zapasowa i odtwarzanie
- Kopia subskrypcji w Menedżerze kopii zapasowych Pleska obejmuje bazy PostgreSQL razem z plikami strony. Odtworzenie przywraca stan bazy z chwili wykonania kopii — sprawdziliśmy to na koncie testowym.
- Własny zrzut przed większą zmianą (migracja schematu, import danych) zrób z konsoli:
PGPASSWORD='TWOJE_HASLO' pg_dump -h 127.0.0.1 -U app_user -Fc app_prod > app_prod-$(date +%F).dump
# odtworzenie do tej samej lub pustej bazy:
PGPASSWORD='TWOJE_HASLO' pg_restore -h 127.0.0.1 -U app_user -d app_prod --clean --if-exists app_prod-2026-09-17.dump
Zrzuty trzymaj poza katalogiem publicznym strony i usuwaj stare — to pełna kopia danych.
Bezpieczeństwo i dostęp z zewnątrz
- Izolacja: użytkownik bazy ma dostęp tylko do swoich baz; próba połączenia z cudzą bazą kończy się błędem uprawnień.
- Dostęp z internetu: serwer PostgreSQL przyjmuje połączenia tylko lokalnie. Z własnego komputera połącz się przez tunel SSH, jeśli pakiet ma dostęp SSH:
ssh -L 15432:127.0.0.1:5432 uzytkownik@twojafirma.pl
# potem lokalnie: psql -h 127.0.0.1 -p 15432 -U app_user -d app_prod
- Hasła: osobny użytkownik dla każdej aplikacji, hasła generowane, trzymane w zmiennych środowiskowych.
- Uprawnienia: aplikacja nie potrzebuje praw superużytkownika — wystarczą uprawnienia do własnej bazy.
Najczęstsze problemy
- „password authentication failed” — złe hasło albo użytkownik utworzony dla innej bazy.
- „permission denied for database” — użytkownik nie jest przypisany do tej bazy; dodaj go do bazy w panelu.
- „connection refused” — łączysz się z zewnątrz albo na zły port; z aplikacji na serwerze używaj
127.0.0.1:5432. - Znaki specjalne w haśle psują adres — zakoduj je w connection stringu albo podaj parametry osobno.
- „too many connections” — zmniejsz pulę połączeń w aplikacji (np.
max: 5).
FAQ
Czy mogę mieć bazy MySQL i PostgreSQL w jednej subskrypcji?
Tak. Typ wybierasz osobno dla każdej bazy; limit baz w pakiecie obejmuje oba typy.
Czy mogę połączyć się z bazą z własnego komputera?
Nie bezpośrednio — serwer przyjmuje tylko połączenia lokalne. Użyj tunelu SSH albo pracuj na kopii bazy u siebie.
Czy baza PostgreSQL jest w kopii zapasowej?
Tak, kopia subskrypcji w Plesku zawiera zrzut bazy PostgreSQL i pozwala ją odtworzyć.
Którą wersję PostgreSQL wybrać?
Na hostingu współdzielonym wersję serwera ustala administrator. Sprawdź ją zapytaniem select version(); i dobierz do niej biblioteki aplikacji.
Weryfikacja techniczna: 17.09.2026, Plesk Obsidian 18.0.80, PostgreSQL 13.23, kopia i odtworzenie subskrypcji Plesk. Powiązane poradniki: aplikacja Node.js w Plesku, aplikacja Ruby w Plesku, Docker i Docker Compose w Plesku. Pakiety: hosting NVMe (Business) i hosting VIP.
