postgresql dba neler yapar?

25
PostgreSQL PostgreSQL Neler Yapar? Neler Yapar? #pgdaytr DBA DBA PGDay İstanbul 2015 @PGDayTR Boğaziçi Üniversitesi Gülçin Yıldırım

Upload: gulcin-yildirim

Post on 15-Jan-2017

270 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: PostgreSQL DBA Neler Yapar?

PostgreSQL PostgreSQL Neler Yapar?Neler Yapar?

#pgdaytr

DBADBA

PGDay İstanbul 2015 @PGDayTRBoğaziçi Üniversitesi

Gülçin Yıldırım

Page 2: PostgreSQL DBA Neler Yapar?

Select * from me ;Select * from me ; 'nde

okudu, algoritmalar ve veri tabanları ileorada tanıştı.

ile karşılaşana dek birçokveri tabanı ile çalıştı ama artık pektercih etmiyor.Açık kaynak kod ve özgür yazılım sevenbir DBA. Çok az şey biliyor ve çok şeyöğrenmek istiyor, şu an 'deçalışıyor.Twitter : Blog :

YTÜ Matematik Mühendisliği

PostgreSQL

Markafoni

@apatheticmagpiekadinyazilimci.com

Page 5: PostgreSQL DBA Neler Yapar?

Postgres Yönetmek Çok Kolay!Postgres Yönetmek Çok Kolay!pgAdminpgAdmin

Postgres'in grafik arayüzüdür. Sorgu analiz etme, çalışan sorgularıgözlemleme özellikleri mevcuttur. Kullandığınız özelliklerin kodlarını

görebilir, değiştirebilir ve düzenleyebilirsiniz.

Page 6: PostgreSQL DBA Neler Yapar?

pgAdminpgAdmin

Page 7: PostgreSQL DBA Neler Yapar?

Terminal ve psqlTerminal ve psqlpsql Postgres'in etkileşimli (interaktif) terminalidir.

Komutlar size çok hız kazandıracaktır.

psql -h 127.0.0.1 -U gulcin -d pgday

\l ve \l+\c \dt ve \dt+\di ve \di+\d ve \d+\du\dp\df\db\x\q\?

Page 8: PostgreSQL DBA Neler Yapar?

Rutin DBA görevleriRutin DBA görevleri

Page 9: PostgreSQL DBA Neler Yapar?

PostgreSQL'i KurmakPostgreSQL'i KurmakLinuxLinux

MacMacŞu EDB versiyonunu indirebilirsiniz.

WindowsWindowsKurulum için şu yararlanabilirsiniz.

apt-get install postgresqlyum install postgresql

linkten

linkten

Page 10: PostgreSQL DBA Neler Yapar?

PostgreSQL'i AyarlamakPostgreSQL'i Ayarlamak

postgresql.confpostgresql.confpg_hba.confpg_hba.conf

recovery.confrecovery.conf

Page 11: PostgreSQL DBA Neler Yapar?

OS ConfigurationOS Configuration

Backup Logical&PhysicalBackup Logical&Physical

HA SetupHA Setup

MonitoringMonitoring

Log AnalyzingLog Analyzing

Bloat ManagementBloat ManagementAnahtar GörevlerAnahtar Görevler

Page 12: PostgreSQL DBA Neler Yapar?

Yedekleme PolitikasıYedekleme Politikası

Tavsiye: Tavsiye: Backup and Recovery Manager Backup and Recovery Managerfor PostgreSQLfor PostgreSQL

BarmanBarman

“ A good backup tool is not for keepingbackups, it's for keeping your job.

Simon Riggs

Page 13: PostgreSQL DBA Neler Yapar?

Optimizasyon YapmaOptimizasyon YapmaSystem TuningSystem Tuning

OS TuningOS Tuning

Hardware Tuning Hardware Tuning

Performance TuningPerformance TuningQuery TuningQuery Tuning

Index ManagementIndex Management

Software Configuration Software Configuration

Page 14: PostgreSQL DBA Neler Yapar?

Optimizasyon YapmaOptimizasyon YapmaTavsiye: Tavsiye: PostgreSQL Workload Analyzer PostgreSQL Workload AnalyzerPoWAPoWA

Page 15: PostgreSQL DBA Neler Yapar?

Upgrade PlanlamaUpgrade PlanlamaVersiyonlar arasındaki farkları listelemeVersiyonlar arasındaki farkları listeleme

Mevcut yapıya nasıl etkisi olacaMevcut yapıya nasıl etkisi olacağğını araını araşştırmatırma

Neler kazandıracaNeler kazandıracağğını hesaplama / öngörmeını hesaplama / öngörme

GeçiGeçişşi planlamai planlama

Kaynakları doKaynakları doğğru kullanmaru kullanma

Yenilikleri incelemeYenilikleri inceleme

pg_upgradepg_upgrade

Page 16: PostgreSQL DBA Neler Yapar?

Sistemi Sistemi İİzlemezleme , , , gibi yazılımlarla veri tabanı

sunucularımızı ve veri tabanlarımızı kontrol edebilirsiniz.Tavsiye: bir projesidir.

check_postgres veri tabanımızın çeşitli özelliklerini izleyip kontroledebilmemize yarayan bir betiktir. Nagios gibi yazılımlarla veya

bağımsız betiklerle çalışabilecek şekilde tasarlanmıştır.

Nagios PRTG New Relic Cacti

check_postgres bucardo

Page 17: PostgreSQL DBA Neler Yapar?

Sistemi Analiz EtmeSistemi Analiz EtmeLogları toplayıp analiz edersek çok daha iyi anlamış oluruz. Bunun

için aşağıdaki araçları kullanabilirsiniz.

Log analiz etmek üzere tasarlanmış bu araçlar log incelemenizi ve

bunlardan yola çıkarak kararlar almanızı sağlayacaktır.

pg_fouinepgbadger

pgCluu

Page 18: PostgreSQL DBA Neler Yapar?

Sistemi Analiz EtmeSistemi Analiz Etme

Page 19: PostgreSQL DBA Neler Yapar?

Postgres ve DBA HayatıPostgres ve DBA Hayatıİşleri olabildiğince otomatize edin.Bir yedekleme politikanız olsun.Yedekleriniz güvenli ve kullanılabilir olsun.Tablo ve dizin (index) boyutlarının artışını kontrol edin.Uzun süren sorguları loglayın ve bu sorguları düzenli aralıklarlaiyileştirin.Loglara düşen hataları inceleyin ve nasıl bir soruna işaretettiklerini anlamaya çalışın, araştırın.Vacuum analyze, autovacuum, full vacuum işlerini planlayın.Veri tabanı kilitleri hakkında fikir edinin ve nasıl izleyip kontroledeceğinizi bilin.

Page 20: PostgreSQL DBA Neler Yapar?

Postgres ve DBA HayatıPostgres ve DBA Hayatıİşleri otomatize etmek için 'crontab' komutu çok faydalı olacaktır.

Yedekleme, vacuum yapma gibi rutinler her DBA'in hayatını kurtaranfaydalı alışkanlıklardır.

gulcin# crontab -l00 02 * * * sh /home/postgres/scripts/getbackup.sh0 05 * * * sh /home/postgres/scripts/restore_test_db.sh#WAL Archive CleanUp0 02 * * * sh /var/lib/pgsql/removewal_archive.sh crontab -e // crontab dosyasını düzenlemeye yarar.# * * * * * çalıştırılacak komut# ! ! ! ! !# " " " " "# " " " " "# " " " " #$$$$$ haftanın günü (0 - 7) (0'dan 6'ya Pazar'dan Cumartesi'ye demektir; 7 Pazar, 0 da Pazar.)# " " " #$$$$$$$$$$ ay (1 - 12)# " " #$$$$$$$$$$$$$$$ ayın günü (1 - 31)# " #$$$$$$$$$$$$$$$$$$$$ saat (0 - 23)# #$$$$$$$$$$$$$$$$$$$$$$$$$ dakika (0 - 59)

Page 21: PostgreSQL DBA Neler Yapar?

Git kullanın!Git kullanın!

çok güzel. ile hemen öğren.

apt-get install git // Debian tabanlı dağıtım Ubuntu gibi.yum install git // RHELyum install git-core // Fedora vs.

Gitlab Demo

ssh-keygen -t rsa -C "[email protected]"cat ~/.ssh/id_rsa.pub

git config --global user.name "Gulcin Yildirim"git config --global user.email "[email protected]"

mkdir pgdaycd pgdaygit inittouch READMEgit add READMEgit commit -m 'Welcome to PGDay İstanbul 2015!'git remote add origin [email protected]:gitlab/pgday.gitgit push -u origin master

Page 22: PostgreSQL DBA Neler Yapar?

Nereden BaNereden Başşlayayım?layayım?Postgres kaydolun.

Günde 1 mail ile ne kadar çok şey öğrenebileceğinize inanamazsınız.

: PostgreSQL yönetimi : Kullanıcılar için genel bir tartışma alanı : Postgres ve ona bağlı servis duyuruları

: Postgres performansına ilişkin konular blogunu takip edin.

( , , , , , , , , , )

mail listelerine

pgsql-adminpgsql-general

psql-announcepsql-performance

Planet PostgreSQL2ndQuadrant pgExperts VMware OmniTI EnterpriseDB

EndPoint credativ Cybertec CommandPrompt OpenSCG

Page 23: PostgreSQL DBA Neler Yapar?

Postgres ÖPostgres Öğğrenmenin ilkrenmenin ilkyolu: Oku!yolu: Oku!

Karşılaştığınız her konsept için yazılmış bulup okuyun.

Postgres belgeleme konusunda en zengin açık kaynakkodlu projelerden biridir.

Çok sık kullandığınız özellikleri bile okuyun çünkü ufak birdetay hayat kurtarıcı olabilir.

"Why do I love Postgres?- Because I'm not a DBA.

PostgreSQLbelgesini

Page 24: PostgreSQL DBA Neler Yapar?

KaynaklarKaynaklar

PostgreSQL database administration volume I PostgreSQL Internals Through Pictures

Best Practices for Becoming an Exceptional Postgres DBA

Page 25: PostgreSQL DBA Neler Yapar?

TeTeşşekkürler!ekkürler!

Soru var mı?Soru var mı?