Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux Yönetim

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
  • sudo ayrı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 -y
  • apt update yapılandırılmış depolardan yerel paket dizinini yeniler.
  • apt upgrade halihazı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 -y

Her paketin sağladığı şey şöyledir:

PaketAçıklama
postgresqlTemel PostgreSQL veritabanı sunucusu
postgresql-contribPostgreSQL 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 postgresql

Aş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 postgresql

PostgreSQL’in sunucu her yeniden başlatıldığında otomatik olarak başlamasını sağlamak için:

sudo systemctl enable postgresql

Bu, 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:

psql

PostgreSQL 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:

q

4.3 Yeni Bir Veritabanı Oluşturun

postgres sistem kullanıcısı olarak oturum açmışken yeni bir veritabanı oluşturun:

createdb your_database_name

Veritabanı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;
q

Bu, 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.conf

Aş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.conf

Parola 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               md5

Daha 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          md5

Dosyayı kaydedin ve çıkın.

5.3 Değişiklikleri Uygulamak için PostgreSQL’i Yeniden Başlatın

sudo systemctl restart postgresql

5.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 reload

Adı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 -y

Uzak PostgreSQL sunucusuna bağlanın:

psql -h your_server_ip -U your_username -d your_database_name

Yer tutucuları aşağıdaki gibi değiştirin:

Yer TutucuAçıklama
your_server_ipPostgreSQL sunucunuzun genel IP adresi
your_usernameOluşturduğunuz PostgreSQL rolü
your_database_nameHedef 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:

l

Bu, 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_name

7.3 Mevcut Veritabanındaki Tüm Tabloları Listeleyin

dt

7.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.sql

Sıkıştırılmış yedek için (büyük veritabanları için önerilir):

pg_dump -Fc your_database_name > your_database_name_backup.dump

7.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.sql

Sıkıştırılmış yedekten geri yüklemek için:

pg_restore -d your_database_name your_database_name_backup.dump

Dü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 = on

Geç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 DurumTemel Avantaj
VPS HostingKüçük ve orta ölçekli uygulamalarAyrılmış kaynaklar, tam root erişimi
Dedicated ServersYüksek trafikli, üretim veritabanlarıMaksimum performans ve izolasyon
GPU HostingPostgreSQL + pgvector ile AI/ML iş yükleriGPU 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.conf ve pg_hba.conf kullanarak uzaktan erişimi güvenli şekilde yapılandırmak
  • Uzak bir makineden PostgreSQL’e bağlanmak
  • psql komutları 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.