Skip to main content

Connection Strings

Setelah membuat role, PlanetScale akan menampilkan connection string. Halaman ini menjelaskan cara menemukan dan menggunakannya.

Menemukan Connection String

  1. Buka PlanetScale Dashboard
  2. Pilih database kamu
  3. Klik tab “Connect”
  4. Pilih branch yang ingin dihubungkan (main untuk production)
  5. Pilih role yang sudah dibuat
  6. Pilih format: “psql” atau “URL”

Format Connection String

PlanetScale menyediakan dua tipe connection string:

Direct Connection (tanpa pooling)

postgresql://ROLE_NAME:PASSWORD@aws.connect.psdb.cloud/DATABASE_NAME?sslmode=require
Digunakan untuk:
  • Menjalankan Drizzle migrations (bun run db:migrate)
  • Drizzle Studio (bun run db:studio)
  • Development lokal

Pooled Connection (via PgBouncer)

postgresql://ROLE_NAME:PASSWORD@aws.connect.psdb.cloud/DATABASE_NAME?sslmode=require&pgbouncer=true
Digunakan untuk:
  • Production app (Vercel)
  • Serverless functions
Untuk aplikasi di Vercel (serverless), selalu gunakan pooled connection. Setiap request Vercel bisa membuka koneksi baru — tanpa pooling, kamu bisa melebihi batas koneksi PlanetScale.

Konfigurasi di Project Cekolah

Project ini sudah dikonfigurasi dengan benar di packages/database/src/index.ts:
// 2 koneksi untuk production, 10 untuk development
const connectionLimit = process.env.NODE_ENV === "production" ? 2 : 10;
Cukup tambahkan DATABASE_URL ke environment variables — tidak perlu ubah kode lain.

Environment Variables yang Dibutuhkan

VariableKeterangan
DATABASE_URLConnection string utama (wajib)

Branches di PlanetScale

PlanetScale memiliki konsep database branching mirip Git branching:
BranchGunakan untuk
mainProduction — data real
stagingTesting sebelum ke production
Development branchEksperimen schema tanpa risiko
Setiap branch punya connection string sendiri. Pastikan Vercel production menggunakan connection string dari branch main.