Link Search Menu Expand Document

Bağlantılar ve Kimlik Doğrulama

Bağlantı Ayarları

listen_addresses

type: string default: localhost context: postmaster restart: Gerektirir
İstemci bağlantılarının dinlendiği TCP / IP adres veya adreslerini belirtir. Virgülle ayrılmış host ismi listesi ve / veya IP adres değerlerini alır. *, mevcut tüm IP arayüzlerini ifade eder. 0.0.0.0 değeri tüm IPv4 adreslerini, :: ise tüm IPv6 adreslerini dinlemeye izin verir. Liste boşsa herhangi bir IP arayüzü dinlemez. Bu durumda sunucuya bağlanmak için sadece Unix-domain soketleri kullanılabilir. Varsayılan değer, yalnızca yerel TCP / IP ‘loopback’ bağlantılarının yapılmasına izin veren localhost’tur. İstemci kimlik doğrulaması mekanizması, sunucuya erişimler konusunda kontroller sağlar. listen_addresses, bağlantı girişimlerinin hangi arabirimlerce kabul edileceğini kontrol eder, güvenli olmayan ağ arayüzlerinde tekrarlanan kötü niyetli bağlantı isteklerini önler. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

port

type: integer default: 5432 min: 1 max: 65535 context: postmaster restart: Gerektirir
Sunucunun dinlediği TCP portudur. Varsayılan 5432’dir. Sunucu dinlediği her IP adresleri için aynı port numarasını kullanır. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

max_connections

type: integer default: 100 min: 1 max: 262143 context: postmaster restart: Gerektirir
Veritabanı sunucusuna maksimum eşzamanlı bağlantı sayısını belirtir. Varsayılan 100 bağlantıdır. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.
Bir standby sunucu kurulumunda bu parametre primary sunucudakiyle aynı veya daha yüksek bir değere ayarlanmalıdır. Aksi takdirde, standby sunucusunda sorgulara izin verilmeyecektir.

superuser_reserved_connections

type: integer default: 3 min: 0 max: 262143 context: postmaster restart: Gerektirir
Süper kullanıcı bağlantıları için ayrılan slot sayısını belirtir. Aynı anda en fazla max_connections kadar bağlantı aktif olabilir. Bir sunucusunda max_connections - superuser_reserved_connections kadar etkin eşzamanlı normal olabilir. Normal aktif bağlantı sayısına ulaşıldığında yeni bağlantılar yalnızca süper kullanıcılar için kabul edilir. Yeni replikasyon bağlantıları kabul edilmez.

Varsayılan 3 bağlantıdır. Ayarlanacak değer max_connections değerinden küçük olmalıdır. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

unix_socket_directories

type: string default: /var/run/postgresql context: postmaster restart: Gerektirir
Sunucunun istemci uygulamalarından gelen bağlantıları dinleyeceği Unix-domain soket veya soketlerin dizinini belirtir. Birden fazla soket, dizinleri virgülle ayırıp listeleyerek oluşturulabilir. Boş değer, herhangi bir Unix-domain soketinin dinlenmeyeceğini belirtir. Bu durumda sunucu bağlantıları için yalnızca TCP / IP soketleri kullanılır. Varsayılan değer /tmp‘dir. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

unix_socket_group

type: string context: postmaster restart: Gerektirir
Unix-domain soketlerinin sahiplik grubunu ayarlar. Soketlerin sahibi her zaman sunucuyu başlatan kullanıcıdır. unix_socket_permissions parametresiyle birlikte Unix-domain bağlantıları için ek bir erişim kontrol mekanizması olarak kullanılabilir. Öntanımlı değeri, sunucu kullanıcısının grubunu kullanan boş string’tir. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

unix_socket_permissions

type: integer default: 777 min: 0 max: 511 context: postmaster restart: Gerektirir
Unix-domain soketlerinin erişim izinlerini ayarlar. Unix-domain soketleri klasik Unix dosya sistemi izin setini kullanır. Parametre değerleri chmod ve umask sistem çağrıları tarafından kabul edilen formatta verilir. Varsayılan izinler herkesin bağlanabilir olduğu 0777‘dir. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

bonjour

type: bool default: off context: postmaster restart: Gerektirir
Bonjour, sunucunun varlığını duyurmayı sağlar. Öntanımlı olarak kapalıdır. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

bonjour_name

type: string context: postmaster restart: Gerektirir
Bonjour servis ismini belirtir. Bu parametre boş string '' olarak ayarlanırsa (varsayılan) bilgisayar ismi kullanılır. Bu parametre yalnızca sunucu başlangıcında ayarlanabilir.

tcp_keepalives_idle

type: integer default: 0 s min: 0 max: 2147483647 unit: s context: user
İşletim sisteminin istemciye bir TCP keepalive mesajı göndermesi gereken, ağ etkinliği olmadan geçen süreyi belirtir. Bu değer birimsiz verilirse saniye olarak alınır. 0 değeri (öntanımlı) işletim sisteminin varsayılanını kullanır. Bu parametre yalnızca TCP_KEEPIDLE veya eşdeğer bir soket seçeneğini destekleyen sistemlerde ve Windows’ta kullanılabilir. Diğer sistemlerde sıfır olmalıdır. Unix-domain soketi üzerinden bağlanan oturumlarda bu parametre önemsenmez ve sıfır olarak okunur.
Windows, sistem varsayılan değerlerini okumak için bir yol sağlamadığından 0 değeri vermek bu parametreyi 2 saate ayarlar.

tcp_keepalives_interval

type: integer default: 0 s min: 0 max: 2147483647 unit: s context: user
İstemci tarafından alındığı bildirilmemiş bir TCP keepalive mesajının ne kadar süre sonra tekrar gönderileceğini belirtir. Bu değer birimsiz belirtilirse saniye olarak alınır. 0 değeri (öntanımlı) işletim sisteminin varsayılanını kullanır. Bu parametre yalnızca TCP_KEEPINTVL veya eşdeğer bir soket seçeneğini destekleyen sistemlerde ve Windows’ta kullanılabilir. Diğer sistemlerde bu parametre 0 olmalıdır. Unix-domain soketi aracılığıyla bağlanan oturumlarda bu parametre önemsenmez ve sıfır olarak okunur.
Windows, sistem varsayılan değerlerini okumak için bir yol sağlamadığından 0 değeri vermek bu parametreyi 1 saniyeye ayarlar.

tcp_keepalives_count

type: integer default: 0 min: 0 max: 2147483647 context: user
Sunucu-istemci bağlantısı kesildi olarak kabul edilmeden önce kaybolabilecek TCP keepalive mesajlarının sayısını belirtir. 0 değeri (öntanımlı) işletim sisteminin varsayılanını kullanır. Bu parametre yalnızca TCP_KEEPCNT‘yi veya eşdeğer bir soket seçeneğini destekleyen sistemlerde kullanılabilir. Diğer sistemlerde bu parametre 0 olmalıdır. Unix-domain soketi ile bağlanan oturumlarda bu parametre önemsenmez ve 0 olarak okunur.
Bu parametre Windows’ta desteklenmez ve sıfır olmalıdır.

tcp_user_timeout

type: integer default: 0 ms min: 0 max: 2147483647 unit: ms context: user
TCP bağlantısı zorla kapatılmadan önce iletilen verilerin onaylanmadan kalabileceği süreyi belirtir. Bu değer birimsiz belirtilirse milisaniye olarak alınır. 0 değeri (öntanımlı) işletim sisteminin varsayılanını kullanır. Bu parametre yalnızca TCP_USER_TIMEOUT‘u destekleyen sistemlerde kullanılabilir. Diğer sistemlerde bu parametre sıfır olmalıdır. Unix-domain soketi ile bağlanan oturumlarda bu parametre önemsenmez ve sıfır olarak okunur.
Bu parametre Windows’ta desteklenmez, sıfır olmalıdır.

Doğrulama

authentication_timeout

type: integer default: 1 min min: 1 max: 600 unit: s context: sighup
İstemci kimlik doğrulamasının tamamlanması için verilen maksimum süreyi belirtir. İstemci, kimlik doğrulama protokolünü bu süre içinde tamamlamazsa sunucu bağlantıyı kapatır. Asılı istemcilerin bağlantıyı süresiz olarak işgal etmesi bu şekilde önlenir. Birimsiz belirtilmesi durumunda saniye olarak alınır. Öntanımlı değer 1 dakikadır. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

password_encryption

type: enum default: md5 context: user values: [md5, scram-sha-256]
Bu parametre, CREATE ROLE veya ALTER ROLE ile bir parola verildiğinde, parolayı şifrelemek için kullanılacak algoritmayı belirtir. Öntanılı değeri, parolayı bir MD5 hash olarak depolayan md5‘tir. Bu parametre scram-sha-256 olarak ayarlanırsa parola SCRAM-SHA-256 ile şifrelenir.

krb_server_keyfile

type: string default: FILE:/etc/postgresql-common/krb5.keytab context: sighup
Kerberos sunucu anahtar dosyasının konumunu ayarlar. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

krb_caseins_users

type: bool default: off context: sighup
GSSAPI kullanıcı adlarının büyük / küçük harfe duyarlı olarak değerlendirilip değerlendirilmeyeceğini ayarlar. Öntanımlı değeri off yani büyük / küçük harfe duyarlıdır. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

db_user_namespace

type: bool default: off context: sighup
Bu parametre her veritabanı için kullanıcı adlarını etkinleştirir. Varsayılan olarak kapalıdır, sadece postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

SSL

SSL kurulumu hakkında bilgi için bkz. SSL ile Güvenli TCP / IP Bağlantıları.

ssl

type: bool default: off context: sighup
SSL bağlantılarını etkinleştirir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Öntanımlı değeri off‘dur.

ssl_ca_file

type: string context: sighup
SSL sunucu sertifika oteritesini (CA) içeren dosyanın adını belirtir. Relative paths veri diziniyle ilişkilidir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Öntanımlı değeri boştur, hiçbir CA dosyasın yüklenmediği anlamına gelir ve istemci sertifikası doğrulaması yapılmaz.

ssl_cert_file

type: string default: server.crt context: sighup
SSL sunucu sertifikasını içeren dosyanın adını belirtir. Relative paths veri diziniyle ilişkilidir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Varsayılan server.crt‘dir.

ssl_crl_file

type: string context: sighup
SSL sunucu sertifikası iptal listesini (CRL) içeren dosyanın adını belirtir. Relative paths veri diziniyle ilişkilidir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Varsayılan boştur, hiçbir CRL dosyası yüklenmez.

ssl_key_file

type: string default: server.key context: sighup
SSL sunucusu private key’ini içeren dosyanın adını belirtir. Relative paths veri diziniyle ilişkilidir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Varsayılan server.key‘dir .

ssl_ciphers

type: string default: HIGH:MEDIUM:+3DES:!aNULL context: sighup
SSL bağlantılarında kullanımına izin verilen SSL şifre paketlerinin (SSL cipher suites) listesini belirtir. Bu ayarın sözdizimi ve desteklenen değerlerin listesi için OpenSSL paketindeki ciphers kılavuzu sayfasına bakın. Yalnızca TLS sürüm 1.2 ve altını kullanan bağlantılar etkilenir. TLS sürüm 1.3 bağlantıları tarafından kullanılan cipher seçeneklerini kontrol eden bir ayar şu an yoktur. Varsayılan değer HIGH:MEDIUM:+3DES:!aNULL şeklindedir. Varsayılan, özel güvenlik gereksinimleriniz olmadığı sürece makul bir seçimdir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

ssl_prefer_server_ciphers

type: bool default: on context: sighup
İstemci yerine, sunucunun SSL cipher tercihlerini kullanılıp kullanılmayacağını belirtir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Varsayılan değeri on‘dur.

ssl_ecdh_curve

type: string default: prime256v1 context: sighup
ECDH anahtar değişiminde kullanılacak eğrinin adını belirtir. Bağlanan tüm istemciler tarafından desteklenmesi gereklidir. Sunucunun Eliptik Eğri (Elliptic Curve) anahtarı tarafından kullanılan eğriyle aynı olması gerekmez. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir. Varsayılan değeri prime256v1‘dir.

ssl_min_protocol_version

type: enum default: TLSv1.2 context: sighup values: [TLSv1, TLSv1.1, TLSv1.2, TLSv1.3]
Kullanılacak minimum SSL / TLS protokol sürümünü ayarlar. Geçerli değerler şu anda: TLSv1, TLSv1.1, TLSv1.2, TLSv1.3’dir. Varsayılan, bu yazı itibariyle sektörün ihtiyaçlarını karşılayan TLSv1.2’dir.

ssl_max_protocol_version

type: enum context: sighup values: [, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3]
Kullanılacak maksimum SSL / TLS protokol sürümünü ayarlar. Geçerli değerleri, ssl_min_protocol_version değerleri ve buna ek boş string’tir (her protokol sürümüne izin vermesi için). Varsayılan her sürüme izin verir. Maksimum protokol sürümünün ayarlanması, bazı bileşenlerin daha yeni bir protokolle çalışırken sorunlar yaşadığında veya test için kullanılabilir.

ssl_dh_params_file

type: string context: sighup
Geçici DH ailesi olarak adlandırılan SSL cipher’lar için kullanılan Diffie-Hellman parametrelerini içeren dosyanın adını belirtir. Varsayılan olarak boştur, bu durumda derlenmiş varsayılan DH parametreleri kullanılır. OpenSSL dhparam -out dhparams.pem 2048 komutuyla kendi DH parametreleri dosyanızı oluşturabilirsiniz. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

ssl_passphrase_command

type: string context: sighup
Private key gibi bir SSL dosyasının şifresini çözmek için passphrase alınması gerektiğinde çağrılacak harici komutu ayarlar. Bu parametre varsayılan boştur, yerleşik prompting mekanizması kullanılır. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

ssl_passphrase_command_supports_reload

type: bool default: off context: sighup
Bu parametre, ssl_passphrase_command tarafından ayarlanan passphrase komutunun, yapılandırma yeniden yüklemesi sırasında anahtar dosyası bir passphrase gerektirdiğinde çağrılıp çağrılmayacağını belirler. Parametre kapalıysa (varsayılan) ssl_passphrase_command, yeniden yükleme sırasında yok sayılacak ve passphrase gerekirse SSL yapılandırması yeniden yüklenmeyecektir. passphrase’in bir dosyadan elde edilebildiği kullanımda bu parametrenin açık olarak ayarlanması uygun olabilir. Bu parametre yalnızca postgresql.conf dosyasından ve sunucu komut satırından ayarlanabilir.

Kaynak:

[1]. PostgreSQL Documentation

[2]. postgresqlco.nf