Przejdź do treści
PocztaPanel klienta

Hosting i serwer

Jak utworzyć bazę PostgreSQL w Plesk i połączyć ją z aplikacją?

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.

PostgreSQLMariaDB / MySQL
Typowe zastosowanieaplikacje w Node.js, Ruby on Rails, Django, Laravel; analitykaCMS i sklepy (WordPress, WooCommerce, PrestaShop)
Typy danychJSONB, tablice, zakresy, typy geograficzne (PostGIS)JSON, podstawowe typy
Zgodność z SQLbardzo dobra, transakcje także dla zmian schematudobra, więcej własnych rozszerzeń składni
Obsługa w Pleskutworzenie baz i użytkowników, kopie zapasoweto samo plus phpMyAdmin

Utworzenie bazy i użytkownika w Plesku

  1. Otwórz Witryny i domeny i przy domenie wybierz Bazy danych.
  2. Kliknij Dodaj bazę danych.
  3. Wpisz nazwę bazy (np. app_prod) i jako serwer bazy wybierz PostgreSQL.
  4. Utwórz użytkownika bazy: nazwa, silne hasło (najlepiej wygenerowane przez panel).
  5. 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.

ParametrWartość
Host127.0.0.1 (albo localhost)
Port5432
Bazanazwa podana przy tworzeniu
Użytkownik / hasłouż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.