Debian’da PostgreSQL Nasıl Kurulur: Eksiksiz Adım Adım Kılavuz
PostgreSQL, dünyanın en güçlü açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden (RDBMS) biridir. Güvenilirliği, genişletilebilirliği ve katı SQL uyumluluğuyla tanınan PostgreSQL, üretim iş yüklerini çalıştıran geliştiriciler, veri mühendisleri ve sistem yöneticileri tarafından tercih edilen veritabanı motorudur. İster bir web uygulaması, ister bir veri ambarı, ister bir arka uç API geliştiriyor olun, PostgreSQL ihtiyacınız olan performansı ve esnekliği sunar.
Bu kapsamlı kılavuz, Debian tabanlı bir sisteme PostgreSQL kurulumu ve yapılandırmasının her adımını ele almaktadır — ilk paket kurulumundan uzaktan erişim yapılandırmasına ve veritabanı yönetimine kadar. İş yüklerinizi bir VPS Hosting planında çalıştırıyorsanız, bu kılavuz ortamınıza tamamen uygulanabilir.
Ön Koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Debian 11 (Bullseye) veya Debian 12 (Bookworm) sunucusu
sudoayrıcalıklarına sahip bir kullanıcı hesabı- Sunucunuza SSH erişimi
- Kararlı bir internet bağlantısı
Adım 1: Sistem Paket Listenizi Güncelleyin
Herhangi bir yeni yazılım yüklemeden önce, paket dizininizi senkronize etmek ve güncel olmayan paketleri yükseltmek en iyi uygulamadır. Bu, uyumluluğu sağlar ve bağımlılık çakışması riskini azaltır.
Bir terminal açın veya sunucunuza SSH ile bağlanın ve şunu çalıştırın:
sudo apt update
sudo apt upgrade -yapt updateyapılandırılmış depolardan yerel paket dizinini yeniler.apt upgradehalihazırda kurulu tüm paketlerin en son sürümlerini yükler.
Yükseltme tamamlandığında, Debian sisteminiz temiz bir PostgreSQL kurulumuna hazırdır.
Adım 2: Debian’a PostgreSQL Kurun
PostgreSQL, resmi Debian depolarından doğrudan edinilebilir; bu da kurulumu basit ve güvenilir kılar. Aşağıdaki komutu çalıştırın:
sudo apt install postgresql postgresql-contrib -yHer paketin sağladığı şey şöyledir:
| Paket | Açıklama |
|---|---|
postgresql | Temel PostgreSQL veritabanı sunucusu |
postgresql-contrib | PostgreSQL ile birlikte yaygın olarak kullanılan ek yardımcı programlar, uzantılar ve araçlar |
Kurulum işlemi otomatik olarak postgres adlı bir sistem kullanıcısı oluşturur, varsayılan veritabanı kümesini başlatır ve PostgreSQL’i bir sistem servisi olarak kaydeder.
Adım 3: PostgreSQL Kurulumunu Doğrulayın
Kurulum tamamlandığında, PostgreSQL otomatik olarak başlamalıdır. Servisin etkin ve çalışır durumda olduğunu doğrulayın:
sudo systemctl status postgresqlAşağıdakine benzer bir çıktı görmelisiniz:
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (running) since ...PostgreSQL çalışmıyorsa, manuel olarak başlatın:
sudo systemctl start postgresqlPostgreSQL’in sunucu her yeniden başlatıldığında otomatik olarak başlamasını sağlamak için:
sudo systemctl enable postgresqlBu, bakım pencereleri sırasında yeniden başlatmaların gerçekleşebildiği bulut sunucuları ve VPS Hosting ortamlarında özellikle önemlidir.
Adım 4: Temel PostgreSQL Yapılandırması
PostgreSQL, rol tabanlı bir kimlik doğrulama modeli kullanır. Kurulumdan sonra postgres adlı varsayılan bir süper kullanıcı rolü oluşturulur. Bu bölüm, PostgreSQL kabuğuna nasıl erişileceğini, rollerin nasıl oluşturulacağını ve veritabanlarının nasıl kurulacağını ele almaktadır.
4.1 PostgreSQL Sistem Kullanıcısına Geçin
Yönetici erişimi kazanmak için postgres sistem kullanıcısına geçin:
sudo -i -u postgresŞimdi PostgreSQL etkileşimli terminalini açın:
psqlPostgreSQL istemiyle karşılaşacaksınız:
psql (15.x)
Type "help" for help.
postgres=#Buradan SQL komutları çalıştırabilir, rolleri yönetebilir ve veritabanlarını yönetebilirsiniz.
4.2 Yeni Bir PostgreSQL Rolü (Kullanıcı) Oluşturun
PostgreSQL, erişimi roller aracılığıyla yönetir. Güvenli bir parola ile yeni bir rol oluşturmak için:
CREATE USER your_username WITH PASSWORD 'your_strong_password';your_username ve your_strong_password kısımlarını istediğiniz kimlik bilgileriyle değiştirin.
Bu role süper kullanıcı ayrıcalıkları vermek için (üretimde dikkatli kullanın):
ALTER USER your_username WITH SUPERUSER;İşiniz bittiğinde, psql isteminden çıkın:
q4.3 Yeni Bir Veritabanı Oluşturun
postgres sistem kullanıcısı olarak oturum açmışken yeni bir veritabanı oluşturun:
createdb your_database_nameVeritabanının sahipliğini az önce oluşturduğunuz kullanıcıya atamak için:
psql
ALTER DATABASE your_database_name OWNER TO your_username;
qBu, your_username‘nin rutin işlemler için süper kullanıcı erişimi gerektirmeksizin your_database_name üzerinde tam kontrole sahip olmasını sağlar.
Adım 5: Uzaktan Erişimi Yapılandırın (İsteğe Bağlı)
Varsayılan olarak, PostgreSQL yalnızca localhost (127.0.0.1) üzerinden gelen bağlantıları kabul eder. Uygulama sunucunuz veya geliştirme makineniz ayrı olarak barındırılıyorsa — örneğin bir Dedicated Servers planında — uzaktan erişimi etkinleştirmeniz gerekecektir.
> ⚠️ Güvenlik Uyarısı: PostgreSQL’i uzak bağlantılara açmak saldırı yüzeyinizi artırır. Her zaman güçlü parolalar kullanın, erişimi bilinen IP aralıklarıyla kısıtlayın ve SSL şifreli bağlantı kullanmayı düşünün.
5.1 PostgreSQL Yapılandırma Dosyasını Değiştirin
Ana PostgreSQL yapılandırma dosyasını açın. 15 kısmını kurulu sürüm numaranızla değiştirin:
sudo nano /etc/postgresql/15/main/postgresql.confAşağıdaki satırı bulun:
#listen_addresses = 'localhost'Yorumu kaldırın ve tüm arayüzlerde bağlantıları kabul etmek için değeri değiştirin:
listen_addresses = '*'Erişimi belirli bir IP adresiyle kısıtlamak için:
listen_addresses = '192.168.1.100'Dosyayı kaydedin ve çıkın (Ctrl+X, ardından Y, ardından Enter).
5.2 İstemci Kimlik Doğrulama Dosyasını Değiştirin
Ardından, hangi ana bilgisayarların bağlanmasına izin verildiğini tanımlamak için pg_hba.conf dosyasını düzenleyin:
sudo nano /etc/postgresql/15/main/pg_hba.confParola kimlik doğrulaması kullanarak herhangi bir IP adresinden bağlantılara izin vermek için dosyanın altına aşağıdaki satırı ekleyin:
host all all 0.0.0.0/0 md5Daha sıkı güvenlik için 0.0.0.0/0 kısmını belirli bir IP aralığıyla değiştirin, örneğin:
host all all 203.0.113.0/24 md5Dosyayı kaydedin ve çıkın.
5.3 Değişiklikleri Uygulamak için PostgreSQL’i Yeniden Başlatın
sudo systemctl restart postgresql5.4 Güvenlik Duvarı Portunu Açın (Geçerliyse)
Sunucunuz ufw kullanıyorsa, 5432 portunda PostgreSQL trafiğine izin verin:
sudo ufw allow 5432/tcp
sudo ufw reloadAdım 6: PostgreSQL’e Uzaktan Bağlanın
Uzaktan erişim yapılandırıldığında, PostgreSQL istemcisinin kurulu olduğu herhangi bir uzak makineden PostgreSQL sunucunuza bağlanabilirsiniz.
Uzak makineye PostgreSQL istemcisini kurun:
sudo apt install postgresql-client -yUzak PostgreSQL sunucusuna bağlanın:
psql -h your_server_ip -U your_username -d your_database_nameYer tutucuları aşağıdaki gibi değiştirin:
| Yer Tutucu | Açıklama |
|---|---|
your_server_ip | PostgreSQL sunucunuzun genel IP adresi |
your_username | Oluşturduğunuz PostgreSQL rolü |
your_database_name | Hedef veritabanının adı |
Rol oluşturma sırasında belirlediğiniz parola istenecektir.
Adım 7: PostgreSQL Veritabanlarını Yönetme
PostgreSQL kurulup yapılandırıldıktan sonra, psql kabuğunu ve yerleşik komut satırı yardımcı programlarını kullanarak veritabanlarınızı yönetebilirsiniz.
7.1 Tüm Veritabanlarını Listeleyin
psql isteminin içinde şunu çalıştırın:
lBu, sunucudaki tüm veritabanlarını sahipleri, kodlamaları ve erişim ayrıcalıklarıyla birlikte görüntüler.
7.2 Farklı Bir Veritabanına Geçin
c your_database_name7.3 Mevcut Veritabanındaki Tüm Tabloları Listeleyin
dt7.4 Bir PostgreSQL Veritabanını Yedekleyin
Mantıksal bir yedek oluşturmak için pg_dump yardımcı programını kullanın:
pg_dump your_database_name > your_database_name_backup.sqlSıkıştırılmış yedek için (büyük veritabanları için önerilir):
pg_dump -Fc your_database_name > your_database_name_backup.dump7.5 Bir PostgreSQL Veritabanını Geri Yükleyin
Düz SQL yedeğinden geri yüklemek için:
psql your_database_name < your_database_name_backup.sqlSıkıştırılmış yedekten geri yüklemek için:
pg_restore -d your_database_name your_database_name_backup.dumpDüzenli yedeklemeler, herhangi bir üretim veritabanı stratejisinin kritik bir parçasıdır. Otomatik yedekleme desteğine sahip yönetilen bir barındırma ortamına ihtiyaç duyuyorsanız, yüksek kullanılabilirlikli veritabanı dağıtımları için AlexHost’un Dedicated Servers hizmetini değerlendirin.
Adım 8: PostgreSQL Kurulumunuzu Güvenli Hale Getirin
Güvenlik sertleştirmesi, internete veya paylaşımlı barındırma ortamlarına açık herhangi bir veritabanı için zorunludur. İşte temel en iyi uygulamalar:
Şifreli Bağlantılar için SSL/TLS Kullanın
PostgreSQL, yerel SSL bağlantılarını destekler. postgresql.conf dosyasında SSL’i etkinleştirin:
ssl = onGeçerli bir SSL sertifikasına ihtiyacınız olacaktır. AlexHost, sunucu iletişimlerinizi güvence altına almak için SSL Certificates sunmaktadır.
Rol Ayrıcalıklarını Kısıtlayın
En az ayrıcalık ilkesini uygulayın. Rollere yalnızca gerçekten ihtiyaç duydukları izinleri verin:
GRANT CONNECT ON DATABASE your_database_name TO your_username;
GRANT USAGE ON SCHEMA public TO your_username;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO your_username;Parolaları Düzenli Olarak Değiştirin
PostgreSQL rol parolalarını periyodik olarak güncelleyin:
ALTER USER your_username WITH PASSWORD 'new_strong_password';PostgreSQL Günlüklerini İzleyin
PostgreSQL günlükleri şu konumda bulunur:
/var/log/postgresql/Yetkisiz erişim girişimlerini veya performans anomalilerini tespit etmek için bu günlükleri düzenli olarak inceleyin.
PostgreSQL için Doğru Barındırma Ortamını Seçme
PostgreSQL veritabanınızın performansı, doğrudan temel altyapınızın kalitesiyle bağlantılıdır. İşte veritabanı iş yükleri için AlexHost barındırma seçeneklerinin hızlı bir karşılaştırması:
| Barındırma Türü | En Uygun Olduğu Durum | Temel Avantaj |
|---|---|---|
| VPS Hosting | Küçük ve orta ölçekli uygulamalar | Ayrılmış kaynaklar, tam root erişimi |
| Dedicated Servers | Yüksek trafikli, üretim veritabanları | Maksimum performans ve izolasyon |
| GPU Hosting | PostgreSQL + pgvector ile AI/ML iş yükleri | GPU hızlandırmalı veri işleme |
Çoğu web uygulaması ve geliştirme ortamı için NVMe SSD depolama alanına sahip bir VPS, performans ve maliyet verimliliği arasında mükemmel bir denge sağlar.
Sonuç
Debian’a PostgreSQL kurmak, doğru adımları izlediğinizde yalnızca birkaç dakika süren basit bir işlemdir. Bu kılavuzda şunları öğrendiniz:
- Debian sisteminizi güncellemek ve resmi depolardan PostgreSQL kurmak
- Servis durumunu doğrulamak ve otomatik başlatmayı etkinleştirmek
- Uygun sahiplikle roller ve veritabanları oluşturmak
postgresql.confvepg_hba.confkullanarak uzaktan erişimi güvenli şekilde yapılandırmak- Uzak bir makineden PostgreSQL’e bağlanmak
psqlkomutları ve yedekleme yardımcı programlarını kullanarak veritabanlarını yönetmek- Temel güvenlik sertleştirme önlemlerini uygulamak
İster küçük bir geliştirme ortamı ister üretim düzeyinde bir veritabanı sunucusu dağıtıyor olun, AlexHost’un altyapısı PostgreSQL iş yüklerinizin talep ettiği güvenilirliği, hızı ve güvenliği sağlar. Bugün tam yönetilen, yüksek performanslı bir ortamla başlamak için VPS Hosting planlarını inceleyin.
tasarruf edin