Cara Integrasi PostgreSQL ke Shared Hosting cPanel Menggunakan Supabase

Pernahkah kamu merasa terbatas dengan fasilitas database pada shared hosting biasa? Tenang, kamu tidak sendirian. Banyak developer menghadapi kendala yang sama ketika ingin mengembangkan aplikasi yang membutuhkan kinerja database lebih handal tanpa harus pindah ke VPS yang mahal. Kabar baiknya, ada solusi cerdas yang bisa kamu terapkan langsung pada hosting yang sudah kamu miliki saat ini.
Integrasi PostgreSQL dari Supabase ke shared hosting cPanel pada dasarnya dilakukan dengan menghubungkan aplikasi yang Anda host di cPanel ke database remote milik Supabase menggunakan Connection String atau Supabase Client SDK. Karena shared hosting cPanel biasanya memiliki keterbatasan dalam menginstal database server tambahan atau akses sistem yang mendalam, cara paling efektif adalah memperlakukan Supabase sebagai layanan database eksternal. Dengan demikian, kamu bisa menikmati kekuatan PostgreSQL tanpa ribet mengelola server database sendiri.
Bagaimana Cara Integrasi PostgreSQL ke Shared Hosting cPanel Menggunakan Supabase?
Banyak Sobat Ngoding yang bertanya-tanya tentang langkah konkret untuk melakukan hal ini. Jawabannya cukup straightforward. Kamu tidak perlu membuat database baru di menu PostgreSQL Databases milik cPanel. Sebaliknya, fokuslah pada konfigurasi aplikasi kamu agar mengarah ke host Supabase. Proses utamanya melibatkan pengambilan kredensial dari dashboard Supabase, lalu memasukkannya ke dalam file konfigurasi aplikasi di File Manager cPanel. Pastikan juga akses jaringan melalui port yang diperlukan terbuka agar koneksi tidak ditolak oleh firewall hosting.
Mengambil Informasi Koneksi dari Dashboard Supabase
Langkah pertama yang wajib kamu lakukan adalah mengumpulkan semua informasi kredensial yang diperlukan. Jangan sampai ada yang tertinggal karena satu karakter salah saja bisa membuat koneksi gagal. Ikuti panduan berikut ini dengan teliti:
Pertama, login ke dashboard Supabase dan buka proyek yang sudah kamu buat sebelumnya. Setelah berada di dalam proyek, navigasikan ke bagian Project Settings lalu pilih menu Database. Di sana, kamu akan mencari bagian Connection String. Pastikan kamu memilih tab URI, karena format ini yang biasanya digunakan untuk koneksi langsung. Format URInya biasanya terlihat seperti ini: postgresql://postgres:[PASSWORD]@[HOST]:5432/postgres.
Hal yang sangat krusial adalah memastikan kamu sudah mencatat Password database yang kamu buat saat setup proyek pertama kali. Jika kamu lupa, kamu mungkin perlu meresetnya di dashboard. Simpan informasi Host, User, Password, dan Port ini dengan rapi karena akan digunakan pada langkah konfigurasi di cPanel nanti.
Konfigurasi Aplikasi di Shared Hosting cPanel
Setelah kredensial aman di tangan, saatnya kita masuk ke area hosting kamu. Buka File Manager pada cPanel kamu dan akses folder aplikasi yang sedang kamu jalankan, biasanya berada di direktori public_html. Di sinilah kamu akan melakukan editing pada file konfigurasi.
Kamu harus memasukkan kredensial Supabase yang sudah didapat tadi ke dalam file environment (seperti .env) atau file koneksi database spesifik pada aplikasi kamu. Penting untuk diingat, kamu tidak perlu membuat database di menu “PostgreSQL Databases” di cPanel. Tugas cPanel di sini hanya sebagai tempat tinggal aplikasi, sedangkan datanya tinggal di Supabase.
Bagi kamu yang menggunakan PHP, berikut adalah contoh integrasi menggunakan PDO yang bisa kamu terapkan. Pastikan variabel host diisi dengan host dari Supabase, bukan localhost. Contoh kodenya kurang lebih seperti ini:
$host = 'db.xxxxxx.supabase.co'; // Host dari Supabase
$db = 'postgres';
$user = 'postgres';
$pass = 'your-password';
$port = '5432';
$dsn = "pgsql:host=$host;port=$port;dbname=$db";
try {
$pdo = new PDO($dsn, $user, $pass);
echo "Koneksi Berhasil!";
} catch (PDOException $e) {
echo "Gagal: " . $e->getMessage();
}
Dengan kode di atas, aplikasi PHP kamu akan mencoba terhubung langsung ke server PostgreSQL milik Supabase. Jika muncul pesan “Koneksi Berhasil”, berarti konfigurasi kamu sudah tepat.
Memastikan Akses Jaringan dan Port Terbuka
Seringkali, konfigurasi sudah benar tetapi koneksi tetap gagal. Salah satu penyebab utamanya adalah pembatasan jaringan pada penyedia shared hosting. Beberapa penyedia shared hosting menutup port keluar (outbound port) tertentu demi keamanan server mereka. Ini adalah hal yang wajar namun bisa menghambat integrasi kamu.
Port standar untuk PostgreSQL adalah 5432. Kamu harus memastikan hosting kamu mengizinkan koneksi keluar melalui port 5432. Jika saat mencoba koneksi kamu mendapatkan pesan error “Connection Refused”, besar kemungkinan port ini diblokir. Solusinya, kamu mungkin perlu menghubungi dukungan teknis hosting kamu untuk meminta mereka membuka port 5432.
Alternatif lain jika port 5432 sulit dibuka adalah menggunakan fitur Connection Pooling yang disediakan Supabase. Biasanya ini menggunakan port 6543. Menggunakan port ini bisa membantu melewati batasan firewall tertentu yang mungkin diterapkan oleh penyedia hosting kamu.
Menggunakan Supabase SDK Sebagai Alternatif
Jika kamu merasa konfigurasi koneksi database langsung terlalu rumit atau terkendala port, ada jalan lain yang lebih ramah untuk shared hosting. Jika aplikasi kamu menggunakan JavaScript atau Node.js di cPanel, lebih disarankan menggunakan library @supabase/supabase-js.
Keunggulan utama menggunakan SDK ini adalah cara kerjanya. Ia berkomunikasi melalui REST API yang berjalan pada Port 80 atau 443. Port-port ini adalah port standar untuk traffic web (HTTP/HTTPS) yang hampir pasti tidak diblokir oleh firewall shared hosting manapun. Ini adalah solusi paling aman dan minim konflik jika kamu mengalami masalah dengan port database langsung.
Tips Tambahan Agar Integrasi Lancar
Ada beberapa hal kecil yang sering terlewat namun berdampak besar pada keamanan dan kestabilan koneksi. Pertama, perhatikan masalah Whitelisting IP. Supabase secara default mengizinkan koneksi dari mana saja, namun jika kamu mengaktifkan firewall di sisi Supabase, pastikan untuk memasukkan alamat IP server shared hosting kamu ke daftar putih (white-list). Jika tidak, koneksi akan ditolak oleh Supabase meskipun konfigurasi di cPanel sudah benar.
Kedua, jangan terkecoh dengan menu phpPgAdmin yang ada di cPanel. Menu phpPgAdmin di cPanel biasanya hanya untuk mengelola database PostgreSQL lokal di server hosting tersebut, bukan untuk database eksternal seperti Supabase. Jadi, jangan mencoba mengakses database Supabase kamu melalui menu ini karena tidak akan terhubung.
Kesimpulan
Integrasi PostgreSQL dari Supabase ke shared hosting cPanel adalah solusi cerdas untuk mengatasi keterbatasan database pada hosting biasa. Kuncinya adalah memperlakukan Supabase sebagai layanan eksternal dan mengonfigurasi aplikasi untuk terhubung ke sana menggunakan Connection String atau SDK. Pastikan port jaringan terbuka, gunakan port pooling jika perlu, dan manfaatkan SDK berbasis API untuk kemudahan akses. Dengan mengikuti langkah-langkah di atas, Sobat Ngoding bisa mendapatkan performa database kelas atas tanpa harus meninggalkan kenyamanan shared hosting.
Selamat mencoba dan semoga proyek kamu semakin lancar!


