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
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.
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:
[2]. postgresqlco.nf