SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
PostgreSQLPostgreSQL
Neler Yapar?Neler Yapar?
#pgdaytr
DBADBA
PGDay İstanbul 2015 @PGDayTR
Boğaziçi Üniversitesi
Gülçin Yıldırım
Select * from me ;Select * from me ;
'nde
okudu, algoritmalar ve veri tabanları ile
orada tanıştı.
ile karşılaşana dek birçok
veri tabanı ile çalıştı ama artık pek
tercih etmiyor.
Açık kaynak kod ve özgür yazılım seven
bir DBA. Çok az şey biliyor ve çok şey
öğrenmek istiyor, şu an 'de
çalışıyor.
Twitter :
Blog :
YTÜ Matematik Mühendisliği
PostgreSQL
Markafoni
@apatheticmagpie
kadinyazilimci.com
Neden PostgreSQL ÇokNeden PostgreSQL Çok
Güzel?Güzel?
(Atomicity, Consistency, Isolation, Durability)
Hot Standby
Streaming replication
/
ACID
MVCC Multi Version Concurrency Control
WAL Write-Ahead Logging
Point-in-Time Recovery
Standby server and high availability
Procedural languages
Partitioning Inheritance
Cost based optimiser
Multi platform support
Tablespaces
Neden PostgreSQL ÇokNeden PostgreSQL Çok
Güzel?Güzel?
( / )
: check constraints, unique
constraints, foreign keys, primary keys...
: , , ...
: MongoDB, Hadoop, Redis , MySQL
Triggers
Functions
Views Materialized Updatable
Constraint enforcement
Extension system hstore pg_stat_statements pg_trgm
Temporary tables
Unlogged tables
Foreign Data Wrappers
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.
pgAdminpgAdmin
Terminal ve psqlTerminal ve psql
psql 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
?
Rutin DBA görevleriRutin DBA görevleri
PostgreSQL'i KurmakPostgreSQL'i Kurmak
LinuxLinux
MacMac
Şu EDB versiyonunu indirebilirsiniz.
WindowsWindows
Kurulum için şu yararlanabilirsiniz.
apt-get install postgresql
yum install postgresql
linkten
linkten
PostgreSQL'i AyarlamakPostgreSQL'i Ayarlamak
postgresql.confpostgresql.conf
pg_hba.confpg_hba.conf
recovery.confrecovery.conf
OS ConfigurationOS Configuration
Backup Logical&PhysicalBackup Logical&Physical
HA SetupHA Setup
MonitoringMonitoring
Log AnalyzingLog Analyzing
Bloat ManagementBloat Management
Anahtar GörevlerAnahtar Görevler
Yedekleme PolitikasıYedekleme Politikası
Tavsiye:Tavsiye: Backup and Recovery ManagerBackup and Recovery Manager
for PostgreSQLfor PostgreSQL
BarmanBarman
“ A good backup tool is not for keeping
backups, it's for keeping your job.
Simon Riggs
Optimizasyon YapmaOptimizasyon Yapma
System TuningSystem Tuning
OS TuningOS Tuning
Hardware TuningHardware Tuning
Performance TuningPerformance Tuning
Query TuningQuery Tuning
Index ManagementIndex Management
Software ConfigurationSoftware Configuration
Optimizasyon YapmaOptimizasyon Yapma
Tavsiye:Tavsiye: PostgreSQL Workload AnalyzerPostgreSQL Workload AnalyzerPoWAPoWA
Upgrade PlanlamaUpgrade Planlama
Versiyonlar 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
SistemiSistemi İİ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 kontrol
edebilmemize 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
Sistemi Analiz EtmeSistemi Analiz Etme
Logları 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_fouine
pgbadger
pgCluu
Sistemi Analiz EtmeSistemi Analiz Etme
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ıklarla
iyileştirin.
Loglara düşen hataları inceleyin ve nasıl bir soruna işaret
ettiklerini 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 kontrol
edeceğinizi bilin.
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ı kurtaran
faydalı alışkanlıklardır.
gulcin# crontab -l
00 02 * * * sh /home/postgres/scripts/getbackup.sh
0 05 * * * sh /home/postgres/scripts/restore_test_db.sh
#WAL Archive CleanUp
0 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)
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 // RHEL
yum install git-core // Fedora vs.
Gitlab Demo
ssh-keygen -t rsa -C "yildirim.gulcin88@gmail.com"
cat ~/.ssh/id_rsa.pub
git config --global user.name "Gulcin Yildirim"
git config --global user.email "yildirim.gulcin88@gmail.com"
mkdir pgday
cd pgday
git init
touch README
git add README
git commit -m 'Welcome to PGDay İstanbul 2015!'
git remote add origin git@demo.gitlab.com:gitlab/pgday.git
git push -u origin master
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-admin
pgsql-general
psql-announce
psql-performance
Planet PostgreSQL
2ndQuadrant pgExperts VMware OmniTI EnterpriseDB
EndPoint credativ Cybertec CommandPrompt OpenSCG
Postgres ÖPostgres Öğğrenmenin ilkrenmenin ilk
yolu: Oku!yolu: Oku!
Karşılaştığınız her konsept için yazılmış
bulup okuyun.
Postgres belgeleme konusunda en zengin açık kaynak
kodlu projelerden biridir.
Çok sık kullandığınız özellikleri bile okuyun çünkü ufak bir
detay hayat kurtarıcı olabilir.
"Why do I love Postgres?
- Because I'm not a DBA.
PostgreSQL
belgesini
KaynaklarKaynaklar
PostgreSQL database administration volume I
PostgreSQL Internals Through Pictures
Best Practices for Becoming an Exceptional Postgres DBA
TeTeşşekkürler!ekkürler!
Soru var mı?Soru var mı?

Mais conteúdo relacionado

Mais procurados

AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront
AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront
AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront Amazon Web Services Japan
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발Amazon Web Services Korea
 
REST and RESTful Web Services
REST and RESTful Web ServicesREST and RESTful Web Services
REST and RESTful Web ServicesKasun Madusanke
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ ProgramlamaOguzhan Coskun
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...Amazon Web Services Korea
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기Juwon Kim
 
Ağ Tabanlı Saldırı Tespit Sistemleri
Ağ Tabanlı Saldırı Tespit SistemleriAğ Tabanlı Saldırı Tespit Sistemleri
Ağ Tabanlı Saldırı Tespit SistemleriCihat Işık
 
[AWSマイスターシリーズ]Identity and Access Management (IAM)
[AWSマイスターシリーズ]Identity and Access Management (IAM)[AWSマイスターシリーズ]Identity and Access Management (IAM)
[AWSマイスターシリーズ]Identity and Access Management (IAM)Amazon Web Services Japan
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıBGA Cyber Security
 
Cache in API Gateway
Cache in API GatewayCache in API Gateway
Cache in API GatewayGilWon Oh
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3BGA Cyber Security
 
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?BGA Cyber Security
 
Siber Güvenlik ve Etik Hacking Sunu - 10
Siber Güvenlik ve Etik Hacking Sunu - 10Siber Güvenlik ve Etik Hacking Sunu - 10
Siber Güvenlik ve Etik Hacking Sunu - 10Murat KARA
 
Kubernetes #4 volume & stateful set
Kubernetes #4   volume & stateful setKubernetes #4   volume & stateful set
Kubernetes #4 volume & stateful setTerry Cho
 
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례Amazon Web Services Korea
 

Mais procurados (20)

AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront
AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront
AWS Black Belt Tech シリーズ 2016 - Amazon CloudFront
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
AWS Summit Seoul 2023 | AWS Graviton과 함께하는 계획문제 최적화 애플리케이션 개발
 
Owasp top 10 inceleme
Owasp top 10 incelemeOwasp top 10 inceleme
Owasp top 10 inceleme
 
REST and RESTful Web Services
REST and RESTful Web ServicesREST and RESTful Web Services
REST and RESTful Web Services
 
Python İle Ağ Programlama
Python İle Ağ ProgramlamaPython İle Ağ Programlama
Python İle Ağ Programlama
 
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
효과적인 NoSQL (Elasticahe / DynamoDB) 디자인 및 활용 방안 (최유정 & 최홍식, AWS 솔루션즈 아키텍트) :: ...
 
PAROLA KIRMA SALDIRILARI
PAROLA KIRMA SALDIRILARIPAROLA KIRMA SALDIRILARI
PAROLA KIRMA SALDIRILARI
 
LLMNR ve NetBIOS Poisoning
LLMNR ve NetBIOS PoisoningLLMNR ve NetBIOS Poisoning
LLMNR ve NetBIOS Poisoning
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
 
Ağ Tabanlı Saldırı Tespit Sistemleri
Ağ Tabanlı Saldırı Tespit SistemleriAğ Tabanlı Saldırı Tespit Sistemleri
Ağ Tabanlı Saldırı Tespit Sistemleri
 
[AWSマイスターシリーズ]Identity and Access Management (IAM)
[AWSマイスターシリーズ]Identity and Access Management (IAM)[AWSマイスターシリーズ]Identity and Access Management (IAM)
[AWSマイスターシリーズ]Identity and Access Management (IAM)
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme ÇalışmalarıWindows İşletim Sistemi Yetki Yükseltme Çalışmaları
Windows İşletim Sistemi Yetki Yükseltme Çalışmaları
 
Cache in API Gateway
Cache in API GatewayCache in API Gateway
Cache in API Gateway
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
 
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
Çalıştay | DDoS Saldırıları Nasıl Gerçekleştirilir?
 
Siber Güvenlik ve Etik Hacking Sunu - 10
Siber Güvenlik ve Etik Hacking Sunu - 10Siber Güvenlik ve Etik Hacking Sunu - 10
Siber Güvenlik ve Etik Hacking Sunu - 10
 
Kubernetes #4 volume & stateful set
Kubernetes #4   volume & stateful setKubernetes #4   volume & stateful set
Kubernetes #4 volume & stateful set
 
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
AWS Summit Seoul 2023 | 스타트업의 서버리스 기반 SaaS 데이터 처리 및 데이터웨어하우스 구축 사례
 

Destaque

Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...Barry Greene
 
Indusrty Strategy For Action
Indusrty Strategy For ActionIndusrty Strategy For Action
Indusrty Strategy For ActionBarry Greene
 
OpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content FilteringOpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content FilteringOpenDNS
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016Maarten Balliauw
 
Query-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server BehaviorQuery-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server BehaviorShumon Huque
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated CustomersBarry Greene
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)Will Schroeder
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonSiddhi
 
DNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in LinuxDNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in LinuxKonkona Basu
 
IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015Eurotech
 
Hands-on getdns Tutorial
Hands-on getdns TutorialHands-on getdns Tutorial
Hands-on getdns TutorialShumon Huque
 
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"Barry Greene
 
A Designated ENUM DNS Zone Provisioning Architecture
A Designated ENUM DNS Zone Provisioning ArchitectureA Designated ENUM DNS Zone Provisioning Architecture
A Designated ENUM DNS Zone Provisioning Architectureenumplatform
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttlingMaarten Balliauw
 
150928 - Verisign Public DNS
150928 - Verisign Public DNS150928 - Verisign Public DNS
150928 - Verisign Public DNSMichael Kaczmarek
 

Destaque (20)

Network security
Network securityNetwork security
Network security
 
Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...
 
Indusrty Strategy For Action
Indusrty Strategy For ActionIndusrty Strategy For Action
Indusrty Strategy For Action
 
OpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content FilteringOpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content Filtering
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
 
Query-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server BehaviorQuery-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server Behavior
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated Customers
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)
 
PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!PostgreSQL Hem Güçlü Hem Güzel!
PostgreSQL Hem Güçlü Hem Güzel!
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
 
DNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in LinuxDNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in Linux
 
TTÜ Geeky Weekly
TTÜ Geeky WeeklyTTÜ Geeky Weekly
TTÜ Geeky Weekly
 
IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015
 
Hands-on getdns Tutorial
Hands-on getdns TutorialHands-on getdns Tutorial
Hands-on getdns Tutorial
 
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"
BIND’s New Security Feature: DNSRPZ - the "DNS Firewall"
 
A Designated ENUM DNS Zone Provisioning Architecture
A Designated ENUM DNS Zone Provisioning ArchitectureA Designated ENUM DNS Zone Provisioning Architecture
A Designated ENUM DNS Zone Provisioning Architecture
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
 
150928 - Verisign Public DNS
150928 - Verisign Public DNS150928 - Verisign Public DNS
150928 - Verisign Public DNS
 
IDNOG - 2014
IDNOG - 2014IDNOG - 2014
IDNOG - 2014
 

Semelhante a PostgreSQL DBA Neler Yapar?

Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisationirfandurmus
 
Gradle ile Proje Insası
Gradle ile Proje InsasıGradle ile Proje Insası
Gradle ile Proje InsasıÖmer ÖZKAN
 
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL SunumuKarabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumuatifceylan
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı GözleyelimOguz Yarimtepe
 
Weblogic performance tips&tricks
Weblogic performance tips&tricksWeblogic performance tips&tricks
Weblogic performance tips&tricksZekeriya Besiroglu
 
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...atifceylan
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziHakan Ilter
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Mehmet Ince
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanımEliflknurNACAR
 
İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09Cihan Özhan
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development Nezir Yürekli
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - SeminerCihan Özhan
 

Semelhante a PostgreSQL DBA Neler Yapar? (20)

VERİTABANI SIZMA TESTLERİ
VERİTABANI SIZMA TESTLERİVERİTABANI SIZMA TESTLERİ
VERİTABANI SIZMA TESTLERİ
 
Javascript Performance Optimisation
Javascript Performance OptimisationJavascript Performance Optimisation
Javascript Performance Optimisation
 
Gradle ile Proje Insası
Gradle ile Proje InsasıGradle ile Proje Insası
Gradle ile Proje Insası
 
MongoDB ve C# Driver'ı
MongoDB ve C# Driver'ıMongoDB ve C# Driver'ı
MongoDB ve C# Driver'ı
 
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL SunumuKarabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
Karabük Üniversitesi Programlama Günleri - PostgreSQL Sunumu
 
Php refactoring
Php refactoringPhp refactoring
Php refactoring
 
Sunucularımızı Gözleyelim
Sunucularımızı GözleyelimSunucularımızı Gözleyelim
Sunucularımızı Gözleyelim
 
Weblogic performance tips&tricks
Weblogic performance tips&tricksWeblogic performance tips&tricks
Weblogic performance tips&tricks
 
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...
DBA ve Geliştiriciler İçin Başarımı Artırıcı Öneriler - PostgreSQL Konferansı...
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri Analizi
 
Selenium
SeleniumSelenium
Selenium
 
Jenkins
JenkinsJenkins
Jenkins
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
 
Abapgit kurulum kullanım
Abapgit kurulum kullanımAbapgit kurulum kullanım
Abapgit kurulum kullanım
 
İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09İleri Seviye T-SQL Programlama - Chapter 09
İleri Seviye T-SQL Programlama - Chapter 09
 
Java 1
Java 1Java 1
Java 1
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Test Driven Development
Test Driven Development Test Driven Development
Test Driven Development
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
 

PostgreSQL DBA Neler Yapar?

  • 1. PostgreSQLPostgreSQL Neler Yapar?Neler Yapar? #pgdaytr DBADBA PGDay İstanbul 2015 @PGDayTR Boğaziçi Üniversitesi Gülçin Yıldırım
  • 2. Select * from me ;Select * from me ; 'nde okudu, algoritmalar ve veri tabanları ile orada tanıştı. ile karşılaşana dek birçok veri tabanı ile çalıştı ama artık pek tercih etmiyor. Açık kaynak kod ve özgür yazılım seven bir DBA. Çok az şey biliyor ve çok şey öğrenmek istiyor, şu an 'de çalışıyor. Twitter : Blog : YTÜ Matematik Mühendisliği PostgreSQL Markafoni @apatheticmagpie kadinyazilimci.com
  • 3. Neden PostgreSQL ÇokNeden PostgreSQL Çok Güzel?Güzel? (Atomicity, Consistency, Isolation, Durability) Hot Standby Streaming replication / ACID MVCC Multi Version Concurrency Control WAL Write-Ahead Logging Point-in-Time Recovery Standby server and high availability Procedural languages Partitioning Inheritance Cost based optimiser Multi platform support Tablespaces
  • 4. Neden PostgreSQL ÇokNeden PostgreSQL Çok Güzel?Güzel? ( / ) : check constraints, unique constraints, foreign keys, primary keys... : , , ... : MongoDB, Hadoop, Redis , MySQL Triggers Functions Views Materialized Updatable Constraint enforcement Extension system hstore pg_stat_statements pg_trgm Temporary tables Unlogged tables Foreign Data Wrappers
  • 5. 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.
  • 7. Terminal ve psqlTerminal ve psql psql 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 ?
  • 8. Rutin DBA görevleriRutin DBA görevleri
  • 9. PostgreSQL'i KurmakPostgreSQL'i Kurmak LinuxLinux MacMac Şu EDB versiyonunu indirebilirsiniz. WindowsWindows Kurulum için şu yararlanabilirsiniz. apt-get install postgresql yum install postgresql linkten linkten
  • 11. OS ConfigurationOS Configuration Backup Logical&PhysicalBackup Logical&Physical HA SetupHA Setup MonitoringMonitoring Log AnalyzingLog Analyzing Bloat ManagementBloat Management Anahtar GörevlerAnahtar Görevler
  • 12. Yedekleme PolitikasıYedekleme Politikası Tavsiye:Tavsiye: Backup and Recovery ManagerBackup and Recovery Manager for PostgreSQLfor PostgreSQL BarmanBarman “ A good backup tool is not for keeping backups, it's for keeping your job. Simon Riggs
  • 13. Optimizasyon YapmaOptimizasyon Yapma System TuningSystem Tuning OS TuningOS Tuning Hardware TuningHardware Tuning Performance TuningPerformance Tuning Query TuningQuery Tuning Index ManagementIndex Management Software ConfigurationSoftware Configuration
  • 14. Optimizasyon YapmaOptimizasyon Yapma Tavsiye:Tavsiye: PostgreSQL Workload AnalyzerPostgreSQL Workload AnalyzerPoWAPoWA
  • 15. Upgrade PlanlamaUpgrade Planlama Versiyonlar 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
  • 16. SistemiSistemi İİ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 kontrol edebilmemize 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
  • 17. Sistemi Analiz EtmeSistemi Analiz Etme Logları 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_fouine pgbadger pgCluu
  • 19. 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ıklarla iyileştirin. Loglara düşen hataları inceleyin ve nasıl bir soruna işaret ettiklerini 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 kontrol edeceğinizi bilin.
  • 20. 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ı kurtaran faydalı alışkanlıklardır. gulcin# crontab -l 00 02 * * * sh /home/postgres/scripts/getbackup.sh 0 05 * * * sh /home/postgres/scripts/restore_test_db.sh #WAL Archive CleanUp 0 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)
  • 21. 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 // RHEL yum install git-core // Fedora vs. Gitlab Demo ssh-keygen -t rsa -C "yildirim.gulcin88@gmail.com" cat ~/.ssh/id_rsa.pub git config --global user.name "Gulcin Yildirim" git config --global user.email "yildirim.gulcin88@gmail.com" mkdir pgday cd pgday git init touch README git add README git commit -m 'Welcome to PGDay İstanbul 2015!' git remote add origin git@demo.gitlab.com:gitlab/pgday.git git push -u origin master
  • 22. 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-admin pgsql-general psql-announce psql-performance Planet PostgreSQL 2ndQuadrant pgExperts VMware OmniTI EnterpriseDB EndPoint credativ Cybertec CommandPrompt OpenSCG
  • 23. Postgres ÖPostgres Öğğrenmenin ilkrenmenin ilk yolu: Oku!yolu: Oku! Karşılaştığınız her konsept için yazılmış bulup okuyun. Postgres belgeleme konusunda en zengin açık kaynak kodlu projelerden biridir. Çok sık kullandığınız özellikleri bile okuyun çünkü ufak bir detay hayat kurtarıcı olabilir. "Why do I love Postgres? - Because I'm not a DBA. PostgreSQL belgesini
  • 24. KaynaklarKaynaklar PostgreSQL database administration volume I PostgreSQL Internals Through Pictures Best Practices for Becoming an Exceptional Postgres DBA