Debian 10'da PostgreSQL Veritabanı Nasıl Kurulur


PostgreSQL (bazen Postgres olarak da anılır), tüm önemli işletim sistemlerinde çalışan, kanıtlanmış bir mimariye sahip, en gelişmiş açık kaynaklı genel amaçlı ve nesne ilişkisel veritabanı sistemidir. Muhteşem veri bütünlüğü sağlayan, güçlü eklentileri destekleyen, yüksek performanslı, istikrarlı, ölçeklenebilir ve genişletilebilir bir veritabanı sistemidir.

Daha da önemlisi, PostgreSQL, veritabanınızı yeniden derlemeden kendi veri türlerinizi tanımlamanıza, özel işlevler eklemenize, hatta C/C++, Java vb. gibi farklı programlama dillerinden kod yazmanıza olanak tanır.

PostgreSQL, Apple, Fujitsu, Red Hat, Cisco, Juniper Network vb. gibi tanınmış Teknoloji şirketleri tarafından kullanılıyor.

Bu makalede, Debian 10'da PostgreSQL veritabanları sunucusunun nasıl kurulacağını, güvenliğinin nasıl sağlanacağını ve yapılandırılacağını göstereceğiz.

Gereklilik:

  1. Debian 10 (Buster) Minimal Sunucusunu Kurun

PostgreSQL Sunucusunu Debian 10'a Kurmak

PostgreSQL veritabanı sunucusunu kurmak için, PostgreSQL 11 sunucusunu ve istemcisini kuracak olan varsayılan APT paket yöneticisini kullanın.

apt install postgresql-11 postgresql-client-11

Debian'da, diğer arka plan programlarında olduğu gibi Postgres veritabanı, aşağıdaki ekran görüntüsünde gösterildiği gibi paket kurulumu tamamlandıktan hemen sonra başlatılır.

Postgres veritabanının gerçekten başlatılıp başlatılmadığını kontrol etmek için PostgreSQL sunucusunun bağlantı durumunu kontrol eden pg_isready yardımcı programını aşağıdaki gibi kullanabilirsiniz.

pg_isready 

Ayrıca systemd altında Postgres hizmeti de otomatik olarak başlatılır ve sistem önyüklemesinde başlaması etkinleştirilir. Hizmetin çalışır durumda olduğundan ve sorunsuz çalıştığından emin olmak için aşağıdaki komutu çalıştırın.

systemctl status postgresql

Aşağıda Postgres hizmetini systemd altında yönetmek için kullanılan diğer yararlı systemctl komutları verilmiştir.

systemctl start postgresql
systemctl restart postgresql
systemctl stop postgresql
systemctl reload postgresql 		#this reloads the service configuration

PostgreSQL Veritabanının Güvenliğini Sağlama ve Yapılandırma

Varsayılan olarak Postgres, veritabanı erişim izinlerini yönetmek için rol kavramını kullanır ve veritabanı rolleri kavramsal olarak işletim sistemi kullanıcılarından tamamen farklıdır. Rol bir kullanıcı veya grup olabilir ve oturum açma hakkına sahip olan role kullanıcı adı verilir.

Yeni başlatılan bir sistem her zaman postgres adında önceden tanımlanmış bir rol içerir; bu rol, psql dosyasına erişmek için kullanılan postgres adlı işletim sistemi kullanıcı hesabıyla aynı ada sahiptir. (Postgres kabuğu) ve diğer veritabanı programları.

Postgres sistemi kullanıcı hesabı şifre kullanılarak korunmaz; hesabı güvence altına almak için passwd yardımcı programını kullanarak bir şifre oluşturabilirsiniz.

passwd postgres

Ayrıca Postgres rolü (veya isterseniz yönetimsel veritabanı kullanıcısı) varsayılan olarak güvenli değildir. Ayrıca bir şifre ile güvence altına almanız gerekir. Şimdi gösterildiği gibi postgres sistem kullanıcı hesabına ve postgres rolüne geçin (güçlü ve güvenli bir şifre belirlemeyi unutmayın).

su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Ardından kılavuza devam etmek için postgres hesabından çıkın.

İstemci Kimlik Doğrulamasını Yapılandırma

Ana Postgres yapılandırma dosyası /etc/postgresql/11/main/postgresql.conf konumunda bulunur. Bu dosyaya ek olarak Postgres, istemci kimlik doğrulamasını kontrol eden, manuel olarak düzenlenen iki yapılandırma dosyasını daha kullanır.

İstemci kimlik doğrulaması /etc/postgresql/11/main/pg_hba.conf yapılandırma dosyası tarafından kontrol edilir. Postgres, parola tabanlı kimlik doğrulama da dahil olmak üzere birçok farklı istemci kimlik doğrulama yöntemi sağlar. İstemci bağlantılarının kimlik doğrulaması istemci ana bilgisayar adresine, veritabanına ve kullanıcıya göre yapılır.

Şifre tabanlı kimlik doğrulama kullanmayı seçerseniz şu yöntemlerden birini uygulayabilirsiniz: md5 veya şifre, şifrenin bağlantı üzerinden iletilme şekli dışında benzer şekilde çalışır. , yani sırasıyla MD5 karma ve açık metin.

md5 şifre kimlik doğrulamasını kullanmak, bilgisayar korsanlarının şifreleri ele geçirmesini önler ve şifrelerin sunucuda düz metin olarak saklanmasını önler. Şifre yöntemi yalnızca bağlantının SSL şifrelemesi ile korunması durumunda güvenli bir şekilde kullanılabilir.

Bu kılavuzda, istemci kimlik doğrulaması için md5 şifre kimlik doğrulamasının nasıl yapılandırılacağını göstereceğiz.

vim /etc/postgresql/11/main/pg_hba.conf 

Aşağıdaki satırı arayın ve kimlik doğrulama yöntemini ekran görüntüsünde gösterildiği gibi md5 olarak değiştirin.

local   all             all                                     md5

Değişiklikleri dosyaya kaydedin ve çıkın. Daha sonra Postgres hizmetini aşağıdaki gibi yeniden başlatarak son değişiklikleri uygulayın.

systemctl restart postgresql

PostgreSQL'de Yeni Veritabanı ve Veritabanı Rolü/Kullanıcısı Oluşturma

Bu son bölümde, yeni bir veritabanı kullanıcısının nasıl oluşturulacağını ve onu yönetmek için bir veritabanı rolünü göstereceğiz. Öncelikle postgres hesabına geçin ve aşağıdaki gibi Postgres kabuğunu açın.

su - postgres
psql

“test_db ” adında bir veritabanı oluşturmak için aşağıdaki SQL komutunu çalıştırın.

postgres=# CREATE DATABASE test_db;

Daha sonra yeni veritabanını aşağıdaki gibi yönetecek bir veritabanı kullanıcısı (oturum açma haklarına sahip bir rol) oluşturun.

postgres=#CREATE USER test_user PASSWORD ‘securep@ss_here’;     #assumes login function by default

test_db'ye test_user kullanıcısı olarak bağlanmak için aşağıdaki komutu çalıştırın.

 
psql -d  test_db  -U test_user

Daha fazla bilgi için PostgreSQL 11 belgelerine bakın.

Çözüm

Şimdilik bu kadar! Bu kılavuzda, Debian 10'da PostgreSQL veritabanları sunucusunun nasıl kurulacağını, güvenliğinin nasıl sağlanacağını ve yapılandırılacağını gösterdik. Paylaşmak istediğiniz herhangi bir sorunuz veya düşünceniz var mı? Bize ulaşmak için aşağıdaki yorum formunu kullanın.