Selekta BETA EN Unduh untuk Mac
POSTGRESQL · CONNECTION · MACOS

Cara konek ke PostgreSQL di Mac

Terbit 23 Oktober 2026

Untuk konek ke PostgreSQL di Mac, tekan ⌘N di Selekta, pilih PostgreSQL, isi host, port 5432, database, user dan password (atau tempel URL postgres://), lalu klik Test dan Save. Untuk server lokal dari Postgres.app atau Homebrew, host-nya localhost dan user-nya biasanya nama akun macOS Anda.

Panduan ini membahas server lokal, server remote, dua cara mengisi detail koneksi, mode SSL, dan arti setiap pesan error yang umum.

Sebelum mulai

Siapkan empat hal: lokasi server (host dan port), database yang dituju, nama user, dan password. Untuk server lokal di macOS, default-nya mudah ditebak:

  • Postgres.app mendengarkan di localhost, port 5432. Aplikasi ini membuat user dan database dengan nama akun macOS Anda, dan koneksi lokal secara default tidak butuh password.
  • Homebrew (brew install postgresql@17 atau versi lain, dijalankan dengan brew services start postgresql@17) juga mendengarkan di localhost:5432, membuat superuser dengan nama akun macOS Anda, dan memercayai koneksi lokal. Database postgres selalu ada.

Kalau ragu server sudah jalan atau belum, pg_isready di Terminal menjawab dalam satu baris:

pg_isready -h localhost -p 5432
# localhost:5432 - accepting connections

Untuk server remote (VPS, layanan managed, atau database kantor), host, port, database, user dan password didapat dari pengelolanya, sering kali dalam bentuk satu URL koneksi.

Langkah-langkah konek

  1. Buka Selekta dan tekan ⌘N (atau klik New connection di layar sambutan).
  2. Pilih PostgreSQL di daftar engine lalu tekan ↵. Kalau sudah punya URL, tempel saja di Or paste a connection URL; engine dikenali dari URL tersebut.
  3. Di tab General, pilih cara pengisian di Enter as: Fields atau URL. Keduanya dijelaskan di bawah.
  4. Beri koneksi sebuah Name, misalnya orders-local, lalu pilih Environment. Pakai Local untuk mesin sendiri dan Production untuk apa pun yang dipakai pengguna sungguhan; Production menampilkan sel PROD merah dan meminta Anda mengetik nama koneksi sebelum statement yang merusak dijalankan.
  5. Isi Host, Port, Database dan User. Untuk Postgres.app atau Homebrew: host localhost, port 5432, database dan user diisi nama akun macOS Anda (atau database postgres).
  6. Ketik Password jika server memintanya. Dengan Save password tercentang, password disimpan di macOS Keychain, tidak pernah di file.
  7. Buka tab SSL jika perlu mode yang lebih ketat dari default (lihat di bawah).
  8. Klik Test atau tekan ⌘T. Banner hijau bertuliskan "Connected to PostgreSQL 17.2 in 12 ms." dengan versi TLS, mode SSL, server dan role di bawahnya.
  9. Klik Save atau tekan ⌘S. Koneksi yang lolos tes langsung terbuka di navigator.

Dialog New PostgreSQL connection dengan tab General terisi untuk server lokal

Tes berhasil: banner hijau menampilkan versi server, latensi dan detail TLS

Fields atau URL

Fields menampilkan Host, Port, Database dan User sebagai input terpisah. Host hanya menerima hostname atau IP: kalau Anda mengetik postgres://db.example.com, form akan meminta "Remove postgres:// from the host, or paste the whole URL into Connection URL."

URL menampilkan satu input Connection URL. Tempel URL seperti:

postgres://app_rw:[email protected]:5432/orders?sslmode=require

lalu tekan ↵. Selekta memecahnya menjadi field secara lokal ("Nothing is sent to the server") dan menampilkan catatan seperti "Filled 4 fields from the URL and set SSL mode to require on the SSL tab. The password was moved to the Password field and taken out of the URL." URL yang disimpan tidak pernah memuat password. postgres:// dan postgresql:// sama-sama diterima, begitu juga parameter sslmode dan sslrootcert.

Anda bisa berpindah antara Fields dan URL kapan saja; nilainya ikut terbawa.

Mode SSL

Daftar SSL mode di tab SSL berisi mode standar PostgreSQL:

Mode Fungsinya
disable Tanpa enkripsi. Lalu lintas data dan password dikirim sebagai teks biasa.
prefer Memakai TLS jika server menawarkannya, jika tidak, tanpa enkripsi. Default untuk localhost.
require Selalu terenkripsi, tetapi sertifikat tidak diperiksa. Default untuk host remote.
verify-ca Terenkripsi dan sertifikat diperiksa terhadap CA tepercaya.
verify-full Juga memeriksa bahwa sertifikat cocok dengan nama host. Pilihan aman untuk server remote.

Untuk verify-ca dan verify-full, biarkan CA certificate kosong agar memakai system trust store macOS, atau pilih file CA dari penyedia layanan (layanan managed biasanya menyediakannya). Client certificate dan Client key dipakai untuk server yang mewajibkan login dengan sertifikat. Minimum TLS bisa dinaikkan dari 1.2 ke 1.3.

Tab SSL dengan verify-full terpilih dan file CA certificate sudah dipilih

Jika server memberikan sertifikat yang tidak dipercaya macOS, tes berhenti dengan dialog Server certificate not trusted yang menampilkan subject, issuer, tanggal kedaluwarsa dan fingerprint SHA-256. Pada titik ini password belum dikirim. Anda bisa memilih Switch to verify-full with a CA file… (solusi yang benar) atau, untuk server yang Anda kenal, Trust this certificate for this connection, yang mengunci sertifikat persis itu.

Server remote di jaringan privat

Banyak database production hanya menerima koneksi dari dalam jaringan privat. Kalau tes menyatakan koneksi ditolak atau timeout dan biasanya Anda masuk lewat jump host, centang Connect through an SSH tunnel di tab SSH. Panduan SSH tunnel membahasnya langkah demi langkah.

Di macOS versi baru, aplikasi butuh izin untuk menjangkau perangkat di jaringan lokal. Jika Anda konek ke alamat privat seperti 192.168.1.20 lalu muncul "macOS blocked Selekta from reaching 192.168.1.20 on your local network. Allow Selekta in System Settings › Privacy & Security › Local Network, then connect again.", lakukan persis seperti itu.

Kalau gagal

Banner tes menyebutkan masalahnya dan, jika bisa, field yang perlu diperbaiki. Berikut pesan yang paling sering muncul.

Connection refused on localhost port 5432. Tidak ada yang mendengarkan di host dan port tersebut. Baris kedua menambahkan pesan sistem operasi, biasanya Connection refused (os error 61). Jalankan servernya (buka Postgres.app, atau jalankan brew services start postgresql@17), periksa port dengan pg_isready, dan kalau ada server kedua di port lain, pakai port itu. Untuk server remote, bisa jadi database hanya mendengarkan di interface privat; pakai tombol Set up SSH tunnel di banner.

password authentication failed for user "app". Server menolak password, dan Selekta menandai field Password dengan "Rejected by the server". Banner menambahkan: "Check the password. If it is right, the server may not allow app from your address (pg_hba.conf)." Ketik ulang password; di server milik sendiri, reset dengan ALTER ROLE app PASSWORD '...'.

Banner tes setelah password ditolak, dengan field Password disorot

no pg_hba.conf entry for host "203.0.113.7", user "app", database "orders", no encryption. Server tidak menerima user ini dari alamat Anda, atau server mewajibkan SSL. Kata "no encryption" berarti mode SSL Anda disable: ganti ke require atau verify-full. Jika pesannya berbunyi "SSL encryption", server perlu baris hostssl atau host di pg_hba.conf untuk alamat Anda; minta ke administrator, atau konek lewat SSH.

Could not resolve db.example.com. Check the spelling or your VPN. Nama host tidak dikenal dari jaringan Anda. Periksa salah ketik, dan sambungkan VPN kantor jika nama tersebut nama internal.

No answer from db.example.com after 10 s. Paket dibuang di tengah jalan, biasanya oleh firewall atau security group yang belum memasukkan IP Anda. Batas waktunya bisa dinaikkan di Advanced › Connect timeout (s), tetapi solusi sebenarnya adalah aturan firewall atau SSH tunnel.

database "orders" does not exist. Login diterima, tetapi database itu tidak ada. Konek dulu ke postgres lalu lihat daftar database di navigator, atau buat dengan CREATE DATABASE orders;.

Terkait