PostgreSQL bağlantı dizesi nedir?

PostgreSQL bağlantı dizesi, bir veritabanına bağlanmak için gereken tüm bilgileri — hostname, port, kimlik bilgileri, veritabanı adı ve SSL ayarları — tek bir değerde birleştiren biçimlendirilmiş bir metin parçasıdır. Uygulamalar, ORM'ler ve komut satırı araçları, her parametrenin ayrı ayrı yapılandırılmasını gerektirmeden veritabanı oturumları oluşturmak için bağlantı dizelerini kullanır. İki yaygın biçim vardır: URI biçimi (postgresql://user:password@host:port/dbname) ve libpq anahtar=değer biçimi (host=localhost port=5432 dbname=mydb). Her iki biçim de neredeyse tüm PostgreSQL istemci kütüphaneleri tarafından desteklenir.

Araç açıklaması

Bu araç, bireysel parametrelerden geçerli PostgreSQL bağlantı dizelerini oluşturur. Host, port, kimlik bilgileri, veritabanı adı ve SSL modunu doldurun ve anında üç kullanıma hazır çıktı elde edin: bir bağlantı URL'si, bir psql komutu ve bir libpq anahtar=değer dizesi.

Örnekler

Giriş:

Alan Değer
Host db.example.com
Port 5432
Kullanıcı Adı alice
Şifre s3cr3t
Veritabanı production
SSL Modu require

Bağlantı URL'si:

postgresql://alice:s3cr3t@db.example.com/production?sslmode=require

psql komutu:

psql "postgresql://alice:s3cr3t@db.example.com/production?sslmode=require"

libpq anahtar=değer dizesi:

host=db.example.com port=5432 dbname=production user=alice password=s3cr3t sslmode=require

Özellikler

  • Üç çıktı biçimi: Aynı anda bir bağlantı URL'si, psql shell komutu ve libpq anahtar=değer dizesi oluşturur
  • SSL modu seçici: Tüm altı PostgreSQL SSL modunu destekler — disable, allow, prefer, require, verify-ca ve verify-full
  • Akıllı varsayılanlar: Çıktıyı temiz ve minimal tutmak için varsayılan değerleri (port 5432, sslmode=prefer) atlar
  • URL kodlaması: Özel karakterler içeren kullanıcı adlarını, şifreleri ve veritabanı adlarını otomatik olarak yüzde kodlar
  • Port doğrulaması: Port'un 1 ile 65535 arasında bir sayı olduğunu doğrular

Kullanım durumları

  • Uygulama yapılandırması: Django, Rails veya bağlantı dizesi kullanan herhangi bir uygulama gibi çerçeveler için bir DATABASE_URL ortam değişkeni oluşturun
  • Hızlı CLI erişimi: URI sözdizimini ezberlemeden uzak bir veritabanına bağlanmak için hazır çalıştırılabilir bir psql komutu oluşturun
  • Bağlantı hata ayıklaması: URI biçimini kabul etmeyen düşük seviye sürücüler veya araçlarla bağlantıları test etmek için bir libpq dizesi oluşturun

SSL modları açıklandı

Mod Açıklama
disable SSL yok. Bağlantı şifrelenmemiştir.
allow Sunucu gerektiriyorsa SSL kullanır; aksi takdirde SSL olmadan bağlanır.
prefer Önce SSL'i dener; şifrelenmemiş bağlantıya geri döner (varsayılan).
require SSL gerektirir ancak sunucu sertifikasını doğrulamaz.
verify-ca SSL gerektirir ve sunucu sertifikasının güvenilir bir CA tarafından imzalandığını doğrular.
verify-full SSL gerektirir, CA'yı doğrular ve ayrıca hostname'in sertifikayla eşleştiğini kontrol eder.