Koneksi
Koneksi di Selekta adalah detail server yang disimpan (engine, host, port, database, user), ditambah tag environment, beberapa opsi, dan password yang disimpan di macOS Keychain. Kamu membuatnya lewat New connection (⌘N), mengeceknya dengan Test, lalu menyimpannya ke navigator.
Membuat koneksi
- Tekan ⌘N, atau klik New connection di layar sambutan.
- Pilih engine: PostgreSQL, MySQL / MariaDB, SQLite atau SQL Server. Gunakan tombol panah dan ↵, atau klik dua kali. Keempat driver sudah ikut di dalam aplikasi, jadi tidak ada yang perlu dipasang.
- Isi tab General. Judul dialog berubah menjadi "New PostgreSQL connection" (atau engine yang kamu pilih).
- Klik Test, atau tekan ⌘T.
- Klik Save. Koneksi baru yang lolos tes langsung dibuka.

Dialog ini punya lima tab: General, SSH, VPN, SSL dan Advanced. Tab yang berisi field tidak valid menampilkan ikon peringatan, dan footer menghitung berapa field yang perlu diperbaiki; klik hitungan itu untuk melompat ke field pertama. Untuk SQLite hanya General dan Advanced yang bisa dibuka.
Tab Advanced berisi:
| Field | Fungsinya |
|---|---|
| Connect timeout (s) | Batas waktu Test dan Connect, 1 sampai 600 detik. Default 10. |
| Session time zone | Hanya PostgreSQL dan MySQL: Server default, This Mac's zone atau UTC. |
| Connection pooler | Hanya PostgreSQL, untuk PgBouncer dan pooler sejenis. Lihat PostgreSQL. |
| Folder | Mengelompokkan koneksi di navigator. |
Field atau URL
Di tab General untuk koneksi PostgreSQL atau MySQL, Enter as berpindah antara Fields dan URL. Kamu memakai salah satunya, tidak pernah keduanya sekaligus.
- Fields: input terpisah untuk Host, Port, Database dan User. Host hanya berisi hostname atau IP, tanpa
postgres://, spasi atau path. Port otomatis terisi port yang biasa dipakai engine itu. - URL: satu input Connection URL. Tempel URL, lalu tekan ↵. URL diurai di dalam aplikasi; tidak ada yang dikirim ke server.
postgres://[email protected]:5432/orders?sslmode=verify-full
mysql://[email protected]:3306/billing?ssl-mode=REQUIRED
Selekta mengenali postgres://, postgresql://, mysql://, mariadb://, sqlserver://, mssql://, redis://, rediss:// dan sqlite://. Parameter sslmode, ssl-mode dan ssl_mode mengatur SSL mode di tab SSL, sedangkan sslrootcert atau ssl-ca mengisi sertifikat CA. Field yang terisi dari URL diberi tanda from URL, dan sebuah catatan menyebutkan berapa field yang terisi.
Kalau URL berisi password, Selekta memindahkannya ke field Password dan menghapusnya dari URL, jadi password tidak pernah tersimpan atau tampil di URL. Saat kamu pindah dari Fields ke URL, URL disusun dari field yang sudah kamu isi.
Kamu juga bisa menempel URL di langkah pemilihan engine, atau di mana saja di dialog selama bukan di dalam input; engine dikenali dari skemanya. Koneksi SQL Server tidak punya mode URL di tab General, tetapi URL sqlserver:// yang ditempel tetap mengisi field-nya.
Environment
Setiap koneksi punya Environment: Production, Staging, Local atau None. Tag ini muncul di navigator dan di title block setiap tab, dan menentukan seberapa hati-hati Selekta terhadap perintah yang merusak data.
| Environment | Yang berubah |
|---|---|
| Production | Sel ENV merah. Kamu mengetik nama koneksi sebelum perintah destruktif dijalankan. |
| Staging | Sel STAGING bergaris tepi. Selekta bertanya dulu sebelum perintah destruktif dan perintah berisiko seperti UPDATE besar dengan filter. |
| Local | Sel LOCAL. Selekta tetap bertanya (cukup satu klik, tanpa mengetik) sebelum DELETE atau UPDATE tanpa WHERE, TRUNCATE dan DROP. |
| None | Tanpa sel environment. Konfirmasinya sama dengan Local. |
Koneksi baru dimulai dengan None. Pilih Production untuk apa pun yang berisi data sungguhan; aturannya dijelaskan di Keamanan production.
Password dan Keychain
Password tidak pernah masuk ke file. Selekta menyimpan detail koneksi di database miliknya sendiri di folder data aplikasi, tanpa password, dan menulis setiap rahasia ke macOS Keychain dengan nama service id.kreasimaju.selekta. Password database, password SSH atau passphrase key, dan password VPN masing-masing menjadi item Keychain tersendiri.
- Save password aktif secara default. Matikan kalau kamu tidak ingin password disimpan; Selekta akan menanyakannya saat connect.
- Saat mengedit koneksi, field Password yang dibiarkan kosong mempertahankan password yang tersimpan. Ketik password baru untuk menggantinya.
- Mematikan Save password pada koneksi yang sudah ada menghapus password dari Keychain.
- Kalau Keychain menolak penyimpanan, koneksi tetap disimpan tanpa password dan muncul pesan bahwa kamu akan ditanya saat connect.
Saat server menolak password yang tersimpan, atau belum ada password, dialog Password for user on connection terbuka. Masukkan password lalu klik Connect. Dengan Update the password in macOS Keychain dicentang, password baru disimpan hanya setelah server menerimanya.
Menguji koneksi
Test membuka satu koneksi dengan isi form saat ini, membaca versi server dan role, mengukur latensi, lalu menutupnya lagi. Kamu tidak perlu menyimpan dulu. Selama berjalan, footer menampilkan langkah yang sedang dikerjakan, misalnya Connecting to host:5432 atau Opening tunnel to bastion, beserta timer. Klik Testing untuk menghentikannya. Mengubah field apa pun juga menghentikan tes yang sedang berjalan.
Tes yang berhasil menampilkan banner hijau, misalnya "Connected to PostgreSQL 16.4 in 38 ms", dengan versi TLS, SSL mode, server dan role di bawahnya.

Kegagalan dilaporkan sesuai jenisnya, masing-masing dengan langkah berikutnya:
- Password salah: field Password ditandai "Rejected by the server" dan langsung terpilih, dengan petunjuk apa lagi yang perlu dicek (untuk PostgreSQL,
pg_hba.conf). - Connection refused: tidak ada yang mendengarkan di host dan port itu. Tombol Set up SSH tunnel membuka tab SSH.
- Host tidak ditemukan: nama host tidak bisa di-resolve. Cek ejaannya atau VPN kamu.
- Timeout: tidak ada jawaban dalam batas connect timeout. Open Advanced membawamu ke field timeout.
- Local Network macOS: kalau macOS memblokir Selekta ke alamat privat, pesannya meminta kamu mengizinkan Selekta di System Settings › Privacy & Security › Local Network.

Koneksi read-only
Centang Read-only di tab General, atau pilih Set read-only di menu koneksi pada navigator. Selekta lalu memeriksa setiap script sebelum apa pun dikirim, dan memblokir perintah yang menulis data atau yang mencoba mengubah pengaturan read-only. Percobaan yang diblokir dicatat di riwayat query. Selain itu, session di server juga diset read-only kalau engine-nya mendukung (PostgreSQL, MySQL dan SQLite).
Koneksi read-only menampilkan ikon gembok di navigator dan sel READ-ONLY di title block. Edit sel, perubahan struktur, Import CSV…, Restore…, Truncate… dan Drop… dinonaktifkan.
Turn off read-only pada koneksi Production meminta konfirmasi dulu.
Folder dan pengelolaan koneksi
Folder mengelompokkan koneksi di navigator, satu tingkat saja. Ketik nama folder di Folder pada tab Advanced (folder yang sudah ada akan disarankan), atau klik kanan koneksi lalu pilih Move to folder › New folder…. Klik kanan folder untuk Rename folder atau Delete folder; menghapus folder hanya mengeluarkan koneksinya dari folder itu.
Menu koneksi di navigator juga berisi Connect, Disconnect (⇧⌘D), Edit…, Duplicate, Rename, Copy URL without password, Backup…, Restore… dan Delete…. Menghapus koneksi Production memintamu mengetik namanya.
Saat kamu mengedit koneksi yang sedang terbuka, dialog menawarkan Save dan Save and reconnect; perubahan host, port dan kredensial berlaku setelah reconnect.
Kalau koneksi yang terbuka berhenti menjawab, Selekta menampilkan banner dan mencoba lagi lima kali dengan jeda yang makin panjang. Setelah percobaan terakhir, banner menawarkan Reconnect dan Disconnect. Transaksi yang sedang terbuka sudah di-rollback oleh server, dan edit yang belum di-apply tetap ada di tab-nya.