PostgreSQL, genellikle Postgres olarak bilinir, açık kaynaklı genel amaçlı nesne-ilişkisel veritabanı yönetim sistemidir. PostgreSQL, çevrimiçi yedeklemeler, zaman kurtarma, iç içe geçmiş işlemler, SQL ve JSON sorgulama, çoklu sürüm eşzamanlılık kontrolü (MVCC), asenkron çoğaltma ve daha fazlası gibi birçok gelişmiş özelliğe sahiptir.
Bu makalemde, PostgreSQL‘in Debian 9‘a nasıl yükleneceğini ve temel veritabanı yönetimini göstereceğim.
PostgreSQL Kurulumu
Debian depolarından temin edilen PostgreSQL’in en son sürümünü kuracağız. Bu yazının yazılıdğı tarihte son sürüm 10’dür.
PostgreSQL’i Debian sunucunuza yüklemek için aşağıdaki adımları sırasıyla tamamlayın
sudo apt update
PostgreSQL veritabanı ve PostgreSQL veritabanı ek özellikler sağlayan PostgreSQL Contrib paketini yükleyin
sudo apt install postgresql postgresql-contrib
Yükleme tamamlandığında, PostgreSQL hizmeti otomatik olarak başlayacaktır. Yüklemeyi doğrulamak için psql yardımcı programını kullanarak PostgreSQL veritabanı sunucusuna bağlanın
sudo -u postgres psql -c "SELECT version();"
Çıktısı aşağıdaki gibi güncel kurulan sürüm numarası olmalıdır.
version
-----------------------------------------------------------------------------------------------------------
PostgreSQL 10.5(Debian 10.5-1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 9.5.0-deb9u1) 9.5.0, 64-bit
(1 row)
Psql, PostgreSQL sunucusuyla etkileşime girmenizi sağlayan etkileşimli bir terminal programıdır.
PostgreSQL Roller ve Kimlik Doğrulama Yöntemleri
PostgreSQL, rol kavram konseptini kullanarak veritabanı erişim izinlerini işler. Bir rol, bir veritabanı kullanıcısını veya bir veritabanı kullanıcı grubunu temsil edebilir. PostgreSQL bir dizi kimlik doğrulama yöntemini desteklemektedir. En çok kullanılan yöntemler şunlardır:
- Trust – Bu yöntemle,
pg_hba.conf
dosyasında belirtilen ölçütler karşılandığı sürece bu rol parola olmadan bağlanabilir. - Password – Bir parola istenerek bir rol bağlanabilir. Parolalar,
scram-sha-256
,md5
vepassword
(plain-text) olarak saklanabilir. - Ident – Bu yöntem sadece TCP/IP bağlantılarında desteklenir. İstemcinin işletim sistemi kullanıcı adını ve isteğe bağlı bir kullanıcı adı eşlemesi sağlayarak çalışır.
- Peer – Ident ile aynıdır, ancak sadece yerel bağlantılarda desteklenir.
PostgreSQL istemci kimlik doğrulaması pg_hba.conf
adlı yapılandırma dosyasında tanımlanmıştır. Yerel bağlantılar için varsayılan olarak PostgreSQL eş kimlik doğrulama yöntemini kullanacak şekilde ayarlanmıştır.
PostgreSQL’i yüklediğinizde postgres kullanıcısı otomatik olarak oluşturulur. Bu kullanıcı root kullanıcısına eşdeğerdir. PostgreSQL sunucusuna postgres
kullanıcısı olarak giriş yapmak için öncelikle postgres kullanıcısına geçmeniz gerekir ve daha sonra psql
yardımcı programını kullanarak bir PostgreSQL istemine erişebilirsiniz.
sudo su - postgres
psql
Buradan PostgreSQL ile etkileşime geçebilirsiniz. PostgreSQL kabuk tipinden çıkmak için aşağıdaki komutu verin.
\q
Kullanıcı değiştirmeden PostgreSQL istemine erişmek için sudo komutunu kullanabilirsiniz.
sudo -u postgres psql
Postgres kullanıcısı genellikle yalnızca yerel ana bilgisayardan kullanılır ve bu kullanıcı için parola ayarlanmaması önerilir. Temel veritabanı yönetimi için ise PostgreSQL Komut ve Kısayolları makaleme göz atabilirsiniz.