Selam bu yazıca PostgreSQL Versiyon Bilgisi Alma hakkında bilgiler vereceğim. Bir önceki yazıda kurulumu anlatmıştım.
PostgreSQL Versiyon Bilgisi Alma
Öncelikle bu işlem için konsolu açıyoruz ya da varsa kullandığınız SQL IDE yine geçerli olabilir. Konsol ya da kullandığınız IDE’nin bulunduğu ekrana diğer bazı databaselerden de bilgiğiniz üzere şu komutu vererek sürüm bilgisini alabilirsiniz:
SELECT VERSION();
Bu komut, bulunduğunuz işletim sistemine göre çıktılar sunacaktır. Örneğin ben Ubuntu Linux kullandığım için bende şöyle bir çıktı verdi:
PostgreSQL 9.6.5 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit
Bu şekilde direkt sürüm bilgisi, derleme bilgisi gibi bilgilere erişebilirsiniz. Tamamen build number üzerine gidilecekse bu bilgileri görmek niyetinde değilseniz şu komutlar da işinizi görebilir:
Current Setting
Bu fonksiyon ile postgresql sunucusunun sürüm numarasını elde edebiliyorsunuz:
SELECT current_setting('server_version_num');
SHOW SERVER_VERSION_NUM;
Bu sabit yine yukarıdaki sorgunun aynısı verir. Bu iki sorgu da aşağıdaki çıktıyı verecektir.
ali=> SHOW SERVER_VERSION_NUM; server_version_num -------------------- 90605 (1 row)
90605 version numarasıdır. Ancak bunun dışında daha short kullanımlar da mevcuttur. Bunlara da bakalım:
SHOW SERVER_VERSION;
Bu kullanım direkt olarak versiyon bilgisini bize getirecektir.
ali=> show server_version; server_version ---------------- 9.6.5 (1 row)
Bunun dışında bu toplara girmeden, direkt CLI üzerinden çalışmanın da yolları var tabi ki. Örneğin şöyle bir sonucu grep yardımıyla alabiliriz:
/usr/lib/postgresql/9.6/bin/postgres -V | egrep -o '[0-9.]*'
Tabi siz sürümü bu /usr/lib yoluyla biliyorsunuz zaten. Ama ya path’e set ettiyseniz? Bu direkt 9.6.5 gibi bir çıktı verecektir. Bir de client version ile server versionlar farklı şeyler. Örneklerle:
Server Version:
/usr/lib/postgresql/9.6/bin/postgres -V | egrep -o '[0-9.]*' 9.6.5
Client Version:
psql -V | egrep -o '[0-9.]*' 10.0
Bazı komutlarda stackoverflowdan faydalanmışlığım var tabi.