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

PostgreSQL’de Veritabanlarını Yönetme: Linux VPS Kullanıcıları için Tam Rehber

PostgreSQL (yaygın olarak Postgres olarak adlandırılır), günümüzde mevcut olan en güçlü, özellik açısından zengin, açık kaynaklı ilişkisel veritabanı yönetim sistemlerinden biridir. Startuplar ve kurumsal ekipler tarafından güvenilir olan PostgreSQL, karmaşık sorguları, büyük veri setlerini ve ölçeklenebilir uygulama mimarilerini yönetmede mükemmeldir. Bir SaaS platformu, bir e-ticaret mağazası veya veri yoğun bir API arka ucu oluşturuyor olsanız da, PostgreSQL projenizin talep ettiği güvenilirlik ve performansı sunar.

PostgreSQL’i yüksek performanslı VPS Hosting ortamında çalıştırmak — NVMe SSD depolama, tam root erişimi ve yerleşik DDoS koruması ile — yönetilen bulut çözümlerinin ek yükü olmadan veritabanı altyapınız üzerinde tam kontrol sağlar. Bu kılavuz, ilk erişimden ve veritabanı oluşturmadan kullanıcı izinlerine, yedeklemelere ve güvenlik sertleştirmesine kadar her temel PostgreSQL yönetim görevinde size yol gösterir.

Ön Koşullar

Devam etmeden önce aşağıdakilere sahip olduğunuzdan emin olun:

  • PostgreSQL yüklü Ubuntu, Debian veya CentOS çalıştıran bir Linux VPS
  • Sunucunuza root veya sudo erişimi
  • Linux komut satırı hakkında temel bilgi

Sunucu ortamınızı henüz kurmadıysanız, AlexHost'ın VPS Control Panels yığını hızlı bir şekilde yapılandırmanızı kolaylaştırır.

1. PostgreSQL Komut Satırı Arayüzüne Erişim

Tüm PostgreSQL yönetim görevleri komut satırı arayüzünde (CLI) başlar; bu arayüz psql olarak da bilinir. Varsayılan olarak, PostgreSQL kurulum sırasında postgres adlı bir sistem kullanıcısı oluşturur ve bu hesap veritabanı motoru ile kimlik doğrulaması için kullanılır.

Adım 1: PostgreSQL Sistem Kullanıcısına Geçiş Yapın

sudo -i -u postgres

Adım 2: PostgreSQL CLI’yi Başlatın

psql

Bağlandıktan sonra etkileşimli istemi göreceksiniz:

postgres=#

Bu, PostgreSQL ortamının içinde olduğunuzu ve SQL komutları ve meta-komutları yürütmeye hazır olduğunuzu doğrular.

> Pro İpucu: Ayrıca normal shell oturumunuzdan sudo -u postgres psql çalıştırarak kullanıcıları değiştirmeden doğrudan bağlanabilirsiniz.

2. Yeni Bir Veritabanı Oluşturma

Veritabanları, tüm tablolarınız, dizinleriniz ve depolanan verileriniz için üst düzey kapsayıcılardır. Yeni bir veritabanı sağlamak için CREATE DATABASE ifadesini kullanın.

Söz Dizimi

CREATE DATABASE database_name;

Örnek

CREATE DATABASE my_database;

Bu, my_database adında ve şu anda etkin olan PostgreSQL rolü tarafından sahip olunan bir veritabanı oluşturur.

Veritabanının Oluşturulduğunu Doğrulayın

Sunucudaki tüm veritabanlarını listelemek için l meta-komutunu kullanın:

l

Veritabanı adlarını, sahiplerini, kodlamaları ve erişim ayrıcalıklarını gösteren bir tablo göreceksiniz.

3. Veritabanı Kullanıcılarını Oluşturma ve Yönetme

Uygun kullanıcı yönetimi veritabanı güvenliği için kritiktir. Tüm uygulamalara postgres süper kullanıcı hesabı altında erişim izni vermek yerine, kapsamlı izinlere sahip özel kullanıcılar oluşturmalısınız.

Yeni Kullanıcı Oluşturma

CREATE USER username WITH PASSWORD 'your_secure_password';

Örnek

CREATE USER dbuser WITH PASSWORD 'StrongP@ssword123';

Belirli Bir Veritabanına Tam Erişim İzni Verme

GRANT ALL PRIVILEGES ON DATABASE database_name TO username;

Örnek

GRANT ALL PRIVILEGES ON DATABASE my_database TO dbuser;

Bu, dbuser kullanıcısına my_database veritabanına tam okuma ve yazma erişimi verir; bu, tablo oluşturma ve silme yeteneğini de içerir.

Tüm Kullanıcıları Listele

Mevcut tüm rolleri ve kullanıcıları görüntülemek için:

du

4. Veritabanına Bağlanma

Bir veritabanı oluşturulduktan sonra, tablolar oluşturmadan veya sorgular çalıştırmadan önce ona bağlanmanız gerekir.

Veritabanına Geçiş Yapma

c my_database

İstem, etkin veritabanını yansıtacak şekilde güncellenecektir:

my_database=#

Artık my_database içinde çalışıyorsunuz ve ona karşı tüm DDL ve DML ifadelerini yürütebilirsiniz.

5. Tablo Oluşturma ve Yönetme

Tablolar, herhangi bir ilişkisel veritabanının temel yapı birimidir. Her tablo bir şema tanımlar — belirli veri türleri ve kısıtlamalarla adlandırılmış sütunlar kümesi.

Tablo Oluştur

CREATE TABLE table_name (
    column1 data_type PRIMARY KEY,
    column2 data_type,
    column3 data_type
);

Pratik Örnek: Çalışan Kayıtları Tablosu

CREATE TABLE employees (
    employee_id SERIAL PRIMARY KEY,
    name        VARCHAR(100) NOT NULL,
    department  VARCHAR(50),
    salary      NUMERIC(10, 2)
);

Burada, SERIAL her yeni satırda employee_id öğesini otomatik olarak artırır ve NOT NULL her çalışanın bir ada sahip olması gerektiğini zorunlu kılar.

6. Veri Ekleme, Sorgulama, Güncelleme ve Silme

Kayıt Ekleme

INSERT INTO employees (name, department, salary)
VALUES ('Jane Smith', 'Engineering', 72000);

Tüm Kayıtları Sorgulama

SELECT * FROM employees;

WHERE Cümlesi ile Sonuçları Filtreleme

SELECT name, salary FROM employees WHERE department = 'Engineering';

Mevcut Kaydı Güncelleme

UPDATE employees
SET salary = 78000
WHERE name = 'Jane Smith';

Belirli Kaydı Silme

DELETE FROM employees
WHERE name = 'Jane Smith';

> En İyi Uygulama: Her zaman WHERE cümlesi ile UPDATE ve DELETE ifadelerini kullanın. Bunu atlamak tablodaki her satırı etkileyecektir.

7. Veritabanı Erişimini ve Güvenliğini Yönetme

Güvenlik, herhangi bir üretim PostgreSQL dağıtımında birinci sınıf bir endişedir. En az ayrıcalık ilkesi — kullanıcılara yalnızca ihtiyaç duydukları izinleri verme — saldırı yüzeyinizi önemli ölçüde azaltır.

Bir Kullanıcıdan Tüm Ayrıcalıkları İptal Etme

REVOKE ALL PRIVILEGES ON DATABASE my_database FROM dbuser;

Belirli Bir Tabloya Salt Okunur Erişim Verme

GRANT SELECT ON TABLE employees TO dbuser;

Bu, dbuser öğesinin employees tablosunu sorgulamasına izin verir ancak herhangi bir ekleme, güncelleme veya silme işlemini engeller.

Belirli DML İzinleri Verme

GRANT SELECT, INSERT, UPDATE ON TABLE employees TO dbuser;

Ek Güvenlik Önerileri

  • Her veritabanı kullanıcısı için güçlü, benzersiz parolalar kullanın
  • postgres süper kullanıcısı için uzaktan erişimi devre dışı bırakın pg_hba.conf içinde
  • SSL bağlantılarını etkinleştirin aktarım sırasında verileri şifrelemek için — bunu sunucunuzdaki güvenilir bir SSL Sertifikası ile eşleştirin
  • Kullanıcı ayrıcalıklarını düzenli olarak denetleyin du ve dp kullanarak
  • PostgreSQL’i güncel tutun bilinen güvenlik açıklarını yamalamak için

8. Veritabanlarını Yedekleme ve Geri Yükleme

Düzenli yedeklemeler herhangi bir üretim veritabanı için vazgeçilmezdir. PostgreSQL, basit yedekleme ve geri yükleme iş akışları için pg_dump ve psql yardımcı programlarını sağlar.

Veritabanını SQL Dosyasına Yedekle

pg_dump my_database > my_database_backup.sql

Bu, tüm veritabanı şemasını ve verilerini düz metin SQL betiği olarak dışa aktarır.

Sıkıştırılmış Formatta Yedekle (Büyük Veritabanları için Önerilir)

pg_dump -Fc my_database > my_database_backup.dump

Özel format (-Fc) sıkıştırılmış bir ikili dosya üretir ve paralel geri yüklemeyi destekler.

Veritabanını SQL Yedeklemesinden Geri Yükle

psql my_database < my_database_backup.sql

Özel Formatlı Yedeklemeden Geri Yükle

pg_restore -d my_database my_database_backup.dump

Cron İşi ile Yedeklemeleri Otomatikleştir

Bir cron girişi ekleyerek günlük yedeklemeleri zamanla:

crontab -e
0 2 * * * pg_dump my_database > /var/backups/postgres/my_database_$(date +%F).sql

Bu, her gün saat 02:00’de bir yedekleme çalıştırır ve kolay sürüm oluşturma için dosya adına tarihi ekler.

9. Tabloları ve Veritabanlarını Silme

Bir tablo veya veritabanı artık gerekli olmadığında, kalıcı olarak kaldırmak için DROP komutunu kullanın.

Tablo Silme

DROP TABLE table_name;

Örnek

DROP TABLE employees;

Tablo Yalnızca Varsa Sil (Daha Güvenli Sözdizimi)

DROP TABLE IF EXISTS employees;

Veritabanını Silme

Hedef veritabanını silmeden önce bağlantıyı kesmelisiniz. Önce varsayılan postgres veritabanına geçin:

c postgres

Ardından hedefi silin:

DROP DATABASE my_database;

> Uyarı: DROP DATABASE geri alınamaz. Bu komutu üretimde çalıştırmadan önce her zaman güncel bir yedeklemesi olduğunu doğrulayın.

10. Yararlı PostgreSQL Meta-Komutları Referansı

psql CLI, navigasyon ve incelemeyi basitleştiren zengin bir meta-komut seti ( ile başlayan) içerir:

KomutAçıklama
lTüm veritabanlarını listele
c dbnameBir veritabanına bağlan
dtGeçerli veritabanındaki tüm tabloları listele
d table_nameBir tablonun şemasını açıkla
duTüm kullanıcıları ve rolleri listele
dpTablo erişim ayrıcalıklarını göster
timingSorgu yürütme süresi görüntüsünü değiştir
qPostgreSQL CLI’den çık

11. PostgreSQL CLI’den Çıkış

Oturumunuz bittiğinde, aşağıdakileri kullanarak temiz bir şekilde çıkın:

q

Bu sizi Linux shell isteminine geri döndürür.

AlexHost VPS’de PostgreSQL Neden Çalıştırmalısınız?

Performans ve kontrol, paylaşılan veya yönetilen bir veritabanı hizmetine güvenmek yerine PostgreSQL’i özel bir VPS’de kendi kendine barındırmanın iki ana nedenidir. AlexHost’un altyapısı ile şunları elde edersiniz:

  • NVMe SSD depolama — büyük veri setlerinde ultra hızlı okuma/yazma işlemleri için
  • Tam root erişimi — PostgreSQL’i uygulamanızın tam olarak gerektirdiği şekilde yapılandırmak için
  • DDoS koruması — veritabanı sunucunuzu olumsuz ağ koşulları altında kullanılabilir tutmak için
  • Ölçeklenebilir kaynaklar — verileriniz büyüdükçe CPU, RAM ve depolamayı yükseltin

Birden fazla uygulamayı veya istemci projesini yöneten takımlar için, Dedicated Servers daha fazla yalıtım, ham performans ve veritabanı ağırlıklı iş yükleri için öngörülebilir gecikme süresi sunar.

Web uygulamalarını PostgreSQL veritabanlarınızın yanında barındırıyorsanız, VPS’nizi statik varlıklar veya ön uç dağıtımı için Shared Web Hosting ile eşleştirmek mimarinizi daha da optimize edebilir ve maliyetleri azaltabilir.

Sonuç

Linux VPS üzerinde PostgreSQL veritabanı yönetiminde uzmanlaşmak, veri altyapınızın tam sahipliğini sağlar — şema tasarımından ve kullanıcı izinlerinden otomatik yedeklemelere ve güvenlik sertleştirmesine kadar. Bu kılavuzda ele alınan komutlar ve iş akışları, her geliştirici ve sistem yöneticisinin PostgreSQL’i üretimde güvenle işletmek için ihtiyaç duyduğu temel beceri setini temsil eder.

Hızlı Referans Özeti:

  • Yeni kaynakları sağlamak için CREATE DATABASE ve CREATE USER kullanın
  • GRANT ve ###PPT_NOTR_4### ile en az ayrıcalık ilkesini uygulayın
  • Yıkıcı değişiklikler yapmadan önce her zaman pg_dump ile yedekleyin
  • Ortamınızı bir bakışta incelemek için l, dt ve du kullanın
  • Veri kaybına karşı koruma sağlamak için cron aracılığıyla otomatik yedeklemeleri planlayın

Bu becerilerinizi uygulamaya koymaya hazır mısınız? AlexHost VPS Hosting planında tam olarak yönetilen bir Linux ortamı başlatın ve PostgreSQL dağıtımınızın tam kontrolünü bugün ele alın.