Pro PostgreSQL, OSCon 2008

Robert Treat
Robert TreatCEO at https://xzilla.net
Pro PostgreSQL Robert Treat omniti.com brighterlamp.org
Who Am I?  (Why Listen To Me) O-0 ,[object Object],[object Object],[object Object],[object Object],[object Object]
Outline O-1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
K-0 Know Your Way Around The Project
Know Your Way Around The Project K-1 www.postgresql.org ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Know Your Way Around The Project K-2 www.pgfoundry.org projects.postgresql.org ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Know Your Way Around The Project K-3 www.planetpostgresql.org ,[object Object],[object Object],[object Object]
Know Your Way Around The Project K-4 archives.postgresql.org ,[object Object],[object Object],[object Object],[object Object]
Know Your Way Around The Project K-5 #postgresql ,[object Object],[object Object],[object Object]
Know Your Way Around The Project K-6 project management ,[object Object],[object Object],[object Object],[object Object],[object Object]
S-0 Get Off To A Good Start
S-1 Get Off To A Good Start Use package management ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],S-2 Get Off To A Good Start Use package management
[object Object],[object Object],[object Object],S-2 Get Off To A Good Start Use package management Don't Be Afraid To Roll Your Own
S-4 Get Off To A Good Start ,[object Object],[object Object],[object Object],[object Object],Configure Logging Logging is often overlooked,  but is the first step toward troubleshooting!
S-5 Get Off To A Good Start ,[object Object],[object Object],[object Object],Configure Authentication
S-6 Get Off To A Good Start ,[object Object],[object Object],[object Object],Authentication Methods
S-7 Get Off To A Good Start ,[object Object],[object Object],[object Object],[object Object],[object Object],/contrib
S-8 Get Off To A Good Start ,[object Object],[object Object],[object Object],[object Object],[object Object],procedural languages
U-0 Let's Talk About Upgrades
U-1 Let's Talk About Upgrades Versioning First Digit ( 7 .4.16 ->  8 .2.0) Second Digit (8.2.4 -> 8.3.0) Third Digit (8.3.0 -> 8.3.1)
U-2 Let's Talk About Upgrades Versioning First Digit (7.4.16 -> 8.2.0) Second Digit (8. 2 .4 -> 8. 3 .0) Third Digit (8.3.0 -> 8.3.1)
U-3 Let's Talk About Upgrades Versioning First Digit (7.4.16 -> 8.2.0) Second Digit (8.2.4 -> 8.3.0) Third Digit (8.3. 0  -> 8.3. 1 )
U-4 Let's Talk About Upgrades Achtung!! ,[object Object],[object Object]
U-5 Let's Talk About Upgrades pg_dump/pg_restore ,[object Object],[object Object],[object Object],[object Object]
U-6 Let's Talk About Upgrades the slony method ,[object Object],[object Object],[object Object],[object Object]
U-7 Let's Talk About Upgrades pg_migrator ,[object Object],[object Object],[object Object],[object Object],[object Object]
U-8 Let's Talk About Upgrades upgrading older db ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
C-0 Figure Your Configure
C-1 Figure Your Configure the basics : performance ,[object Object],[object Object],[object Object],[object Object],[object Object]
C-2 Figure Your Configure the basics : logging ,[object Object],[object Object],[object Object],[object Object]
C-3 Figure Your Configure other stuff worth looking at ,[object Object],[object Object],[object Object],[object Object],[object Object]
M-0 Routine Maintenance
M-1 Routine Maintenance a word about vacuum ,[object Object],[object Object],[object Object]
M-2 Routine Maintenance autovacuum : just do it! ,[object Object],[object Object],[object Object],[object Object],[object Object]
M-3 Routine Maintenance other stuff worth looking at ,[object Object],[object Object],[object Object],[object Object]
P-0 Hardware For Software People
P-1 Hardware For Software People you can be cheap on the licensing,  don't be cheap on the hardware ,[object Object],[object Object],[object Object],[object Object],[object Object]
P-2 Hardware For Software People cpu and you ,[object Object],[object Object],[object Object]
P-3 Hardware For Software People disk do's ,[object Object],[object Object],[object Object],[object Object],[object Object]
P-4 Hardware For Software People disk dont's ,[object Object],[object Object],[object Object]
A-0 Availability (Not Scalability)
A-1 Availability what do we mean by availability? ,[object Object],[object Object],[object Object]
A-2 Availability what do we mean by availability? if (kablooy) then  (ok) ,[object Object],[object Object],[object Object]
A-3 Availability pg_dump ,[object Object],[object Object],[object Object],[object Object]
A-4 Availability filesystem snapshots ,[object Object],[object Object],[object Object],[object Object],[object Object]
A-5 Availability pitr ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A-6 Availability slony ,[object Object],[object Object],[object Object],[object Object]
A-7 Availability bucardo ,[object Object],[object Object],[object Object],[object Object]
A-8 Availability shared disk ,[object Object],[object Object],[object Object],[object Object]
A-9 Availability filesystem replication ,[object Object],[object Object],[object Object],[object Object]
A-10 Availability pgpool ,[object Object],[object Object],[object Object],[object Object]
A-11 Availability postgres-r ,[object Object],[object Object],[object Object],[object Object]
H-0 Scalability
H-1 Scalability what is scaling? “ How well a solution to some  problem will work when the  relative size of the problem  increases” - Theo Schlossnagle
H-2 Scalability bigger, better, faster, more! ,[object Object],[object Object],[object Object],[object Object],[object Object]
H-3 Scalability pgpool ,[object Object],[object Object],[object Object],[object Object]
H-4 Scalability pg_bouncer ,[object Object],[object Object],[object Object],[object Object]
H-5 Scalability slony ,[object Object],[object Object],[object Object],[object Object],[object Object]
H-6 Scalability bucardo ,[object Object],[object Object],[object Object],[object Object]
H-7 Scalability pgpool-II ,[object Object],[object Object],[object Object],[object Object]
H-8 Scalability pgcluster ,[object Object],[object Object],[object Object],[object Object],[object Object]
H-9 Scalability postgres-r ,[object Object],[object Object],[object Object],[object Object],[object Object]
H-10 Scalability pitr read-only slaves ,[object Object],[object Object],[object Object],[object Object]
J-0 Query Your Queries
J-1 Query Your Queries finding slow queries: log_min_duration_statement ,[object Object],[object Object],[object Object],LOG:  duration: 5005.273 ms  statement: select pg_sleep(5);
J-2 Query Your Queries finding slow queries: pgfouine / pqa ,[object Object],[object Object],[object Object],http://pgfouine.projects.postgresql.org/reports.html http://pqa.projects.postgresql.org/example.html
J-3 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-4 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-5 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-6 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-7 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-8 Query Your Queries finding slow queries: pg_stat_all_tables pagila=#  pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column  |  Type  | ------------------+-------------+ relid  | oid  | schemaname  | name  | relname  | name  | seq_scan  | bigint  | seq_tup_read  | bigint  | idx_scan  | bigint  | idx_tup_fetch  | bigint  | n_tup_ins  | bigint  | n_tup_upd  | bigint  | n_tup_del  | bigint  | n_tup_hot_upd  | bigint  | n_live_tup  | bigint  | n_dead_tup  | bigint  | last_vacuum  | timestamptz | last_autovacuum  | timestamptz | last_analyze  | timestamptz | last_autoanalyze | timestamptz |
J-9 Query Your Queries finding slow queries: pg_stat_all_indexes pagila=#  pg_stat_all_indexes View "pg_catalog.pg_stat_all_indexes" Column  |  Type  | ---------------+--------+ relid  | oid  | indexrelid  | oid  | schemaname  | name  | relname  | name  | indexrelname  | name  | idx_scan  | bigint | idx_tup_read  | bigint | idx_tup_fetch | bigint |
J-10 Query Your Queries finding slow queries: pg_stat_all_indexes pagila=#  pg_stat_all_indexes View "pg_catalog.pg_stat_all_indexes" Column  |  Type  | ---------------+--------+ relid  | oid  | indexrelid  | oid  | schemaname  | name  | relname  | name  | indexrelname  | name  | idx_scan  | bigint | idx_tup_read  | bigint | idx_tup_fetch | bigint |
J-11 Query Your Queries finding slow queries: pg_statio_all_tables pagila=#  pg_statio_all_tables View "pg_catalog.pg_statio_all_tables" Column  |  Type  | -----------------+--------+ relid  | oid  | schemaname  | name  | relname  | name  | heap_blks_read  | bigint | heap_blks_hit  | bigint | idx_blks_read  | bigint | idx_blks_hit  | bigint | toast_blks_read | bigint | toast_blks_hit  | bigint | tidx_blks_read  | bigint | tidx_blks_hit  | bigint |
J-12 Query Your Queries finding slow queries: pg_statio_all_tables pagila=#  pg_statio_all_tables View "pg_catalog.pg_statio_all_tables" Column  |  Type  | -----------------+--------+ relid  | oid  | schemaname  | name  | relname  | name  | heap_blks_read  | bigint | heap_blks_hit  | bigint | idx_blks_read  | bigint | idx_blks_hit  | bigint | toast_blks_read | bigint | toast_blks_hit  | bigint | tidx_blks_read  | bigint | tidx_blks_hit  | bigint |
J-13 Query Your Queries fixing slow queries: explain analyze ,[object Object],[object Object],[object Object],[object Object]
J-14 Query Your Queries fixing slow queries: explain analyze ,[object Object],[object Object],[object Object],[object Object],http://wiki.postgresql.org/Using_EXPLAIN
J-15 Query Your Queries fixing slow queries: indexing (basic) ,[object Object],[object Object],[object Object],[object Object],[object Object]
J-16 Query Your Queries fixing slow queries: indexing (partial) create index address_ba_part_idx  on address (district)  where district = 'Buenos Aires'; ,[object Object],[object Object],[object Object],[object Object]
J-17 Query Your Queries fixing slow queries: indexing (partial) create index customer_active_part_idx  on customer (customer_id)  where activebool is true; ,[object Object],[object Object],[object Object],[object Object]
J-18 Query Your Queries fixing slow queries: indexing (functional) ,[object Object]
J-19 Query Your Queries fixing slow queries: indexing (expressional) create unique index one_true_email_xidx on customer (lower(email)); ,[object Object],[object Object],[object Object],[object Object]
J-20 Query Your Queries fixing slow queries: indexing (expressional) create index fullname_xidx on customer ((first_name||' '||last_name)); ,[object Object],[object Object],[object Object],[object Object]
J-21 Query Your Queries fixing slow queries: full text search ,[object Object],[object Object],[object Object],[object Object]
J-22 Indexing Options full text indexing gist vs. gin ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
N-0 PostgreSQL Tablespaces
N-1 PostgreSQL Tablespaces tablespaces? ,[object Object],[object Object],[object Object],[object Object]
N-2 PostgreSQL Tablespaces tablespaces! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Q-0 PostgreSQL Partitioning
Q-1 PostgreSQL Partitioning partitioning? ,[object Object],[object Object],[object Object],[object Object]
Q-2 PostgreSQL Partitioning partitioning! ,[object Object],[object Object],[object Object],[object Object],http://www.pgcon.org/2007/schedule/events/41.en.html
Q-3 PostgreSQL Partitioning partitioning : key points ,[object Object],[object Object],[object Object],[object Object]
I-0 Other Stuff I Should Mention
I-1 Other Stuff I Should Mention pgcrypto ,[object Object],[object Object],[object Object]
I-2 Other Stuff I Should Mention dblink ,[object Object],[object Object],[object Object],[object Object]
I-3 Other Stuff I Should Mention *-link ,[object Object],[object Object],[object Object],[object Object],[object Object],http://www.pgfoundry.org/   (db link)
I-4 Other Stuff I Should Mention autonomous logging tool ,[object Object],[object Object],[object Object],https://labs.omniti.com/trac/pgsoltools
I-5 Other Stuff I Should Mention snapshot pitr clones ,[object Object],[object Object],[object Object],[object Object],https://labs.omniti.com/trac/pgsoltools
I-6 Other Stuff I Should Mention check_postgres ,[object Object],[object Object],[object Object],http://bucardo.org/check_postgres
I-7 Other Stuff I Should Mention reconnoiter ,[object Object],[object Object],[object Object],https://labs.omniti.com/trac/reconnoiter
I-8 Other Stuff I Should Mention phpPgAdmin ,[object Object],[object Object],[object Object],[object Object],http://phppgadmin.sourceforge.net/
I-9 Other Stuff I Should Mention  ;-) my book?
I-10 Other Stuff I Should Mention  ;-) we're hiring ,[object Object],[object Object],[object Object],[object Object],http://omniti.com/is/hiring
L-0 El Fin
1 of 106

Recommended

Inside PostgreSQL Shared Memory by
Inside PostgreSQL Shared MemoryInside PostgreSQL Shared Memory
Inside PostgreSQL Shared MemoryEDB
2.5K views25 slides
PostgreSQL Performance Tuning by
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuningelliando dias
4.1K views64 slides
Mastering PostgreSQL Administration by
Mastering PostgreSQL AdministrationMastering PostgreSQL Administration
Mastering PostgreSQL AdministrationEDB
7.2K views111 slides
Streaming replication in practice by
Streaming replication in practiceStreaming replication in practice
Streaming replication in practiceAlexey Lesovsky
8.7K views70 slides
PostgreSQL Extensions: A deeper look by
PostgreSQL Extensions:  A deeper lookPostgreSQL Extensions:  A deeper look
PostgreSQL Extensions: A deeper lookJignesh Shah
2.5K views35 slides
Postgres Toolkit by
Postgres ToolkitPostgres Toolkit
Postgres ToolkitUptime Technologies LLC (JP)
1.6K views6 slides

More Related Content

What's hot

A brief introduction to PostgreSQL by
A brief introduction to PostgreSQLA brief introduction to PostgreSQL
A brief introduction to PostgreSQLVu Hung Nguyen
8.1K views22 slides
PostgreSQL High Availability in a Containerized World by
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
13.1K views41 slides
PostgreSQL Streaming Replication Cheatsheet by
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication CheatsheetAlexey Lesovsky
6.1K views1 slide
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data by
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataProblems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataJignesh Shah
1.7K views36 slides
Out of the box replication in postgres 9.4 by
Out of the box replication in postgres 9.4Out of the box replication in postgres 9.4
Out of the box replication in postgres 9.4Denish Patel
11.7K views50 slides
Introduction to PostgreSQL for System Administrators by
Introduction to PostgreSQL for System AdministratorsIntroduction to PostgreSQL for System Administrators
Introduction to PostgreSQL for System AdministratorsJignesh Shah
4.4K views31 slides

What's hot(19)

A brief introduction to PostgreSQL by Vu Hung Nguyen
A brief introduction to PostgreSQLA brief introduction to PostgreSQL
A brief introduction to PostgreSQL
Vu Hung Nguyen8.1K views
PostgreSQL High Availability in a Containerized World by Jignesh Shah
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
Jignesh Shah13.1K views
PostgreSQL Streaming Replication Cheatsheet by Alexey Lesovsky
PostgreSQL Streaming Replication CheatsheetPostgreSQL Streaming Replication Cheatsheet
PostgreSQL Streaming Replication Cheatsheet
Alexey Lesovsky6.1K views
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data by Jignesh Shah
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataProblems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte Data
Jignesh Shah1.7K views
Out of the box replication in postgres 9.4 by Denish Patel
Out of the box replication in postgres 9.4Out of the box replication in postgres 9.4
Out of the box replication in postgres 9.4
Denish Patel11.7K views
Introduction to PostgreSQL for System Administrators by Jignesh Shah
Introduction to PostgreSQL for System AdministratorsIntroduction to PostgreSQL for System Administrators
Introduction to PostgreSQL for System Administrators
Jignesh Shah4.4K views
Postgres-BDR with Google Cloud Platform by SungJae Yun
Postgres-BDR with Google Cloud PlatformPostgres-BDR with Google Cloud Platform
Postgres-BDR with Google Cloud Platform
SungJae Yun2.2K views
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1) by Wei Shan Ang
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
Wei Shan Ang339 views
pgpool-II demonstration by elliando dias
pgpool-II demonstrationpgpool-II demonstration
pgpool-II demonstration
elliando dias3.1K views
plProxy, pgBouncer, pgBalancer by elliando dias
plProxy, pgBouncer, pgBalancerplProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancer
elliando dias7.1K views
GitLab PostgresMortem: Lessons Learned by Alexey Lesovsky
GitLab PostgresMortem: Lessons LearnedGitLab PostgresMortem: Lessons Learned
GitLab PostgresMortem: Lessons Learned
Alexey Lesovsky490 views
pgpool: Features and Development by elliando dias
pgpool: Features and Developmentpgpool: Features and Development
pgpool: Features and Development
elliando dias1.9K views
Out of the box replication in postgres 9.4(pg confus) by Denish Patel
Out of the box replication in postgres 9.4(pg confus)Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)
Denish Patel1.1K views
Percona Toolkit for Effective MySQL Administration by Mydbops
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
Mydbops1.8K views
Automating Disaster Recovery PostgreSQL by Nina Kaufman
Automating Disaster Recovery PostgreSQLAutomating Disaster Recovery PostgreSQL
Automating Disaster Recovery PostgreSQL
Nina Kaufman1.2K views
PostgreSQL High Availability in a Containerized World by Jignesh Shah
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
Jignesh Shah4.6K views
Postgresql Database Administration Basic - Day2 by PoguttuezhiniVP
Postgresql  Database Administration Basic  - Day2Postgresql  Database Administration Basic  - Day2
Postgresql Database Administration Basic - Day2
PoguttuezhiniVP76 views
HADOOP 실제 구성 사례, Multi-Node 구성 by Young Pyo
HADOOP 실제 구성 사례, Multi-Node 구성HADOOP 실제 구성 사례, Multi-Node 구성
HADOOP 실제 구성 사례, Multi-Node 구성
Young Pyo2.5K views

Viewers also liked

Building a Spatial Database in PostgreSQL by
Building a Spatial Database in PostgreSQLBuilding a Spatial Database in PostgreSQL
Building a Spatial Database in PostgreSQLKudos S.A.S
8.9K views52 slides
PostgreSQL Scaling And Failover by
PostgreSQL Scaling And FailoverPostgreSQL Scaling And Failover
PostgreSQL Scaling And FailoverJohn Paulett
24.7K views36 slides
My experience with embedding PostgreSQL by
 My experience with embedding PostgreSQL My experience with embedding PostgreSQL
My experience with embedding PostgreSQLJignesh Shah
16.4K views39 slides
Why use PostgreSQL? by
Why use PostgreSQL?Why use PostgreSQL?
Why use PostgreSQL?Gabriele Bartolini
12.7K views52 slides
Android & PostgreSQL by
Android & PostgreSQLAndroid & PostgreSQL
Android & PostgreSQLMark Wong
26.8K views37 slides
PostgreSQL Hooks for Fun and Profit by
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and ProfitDavid Fetter
331 views66 slides

Viewers also liked(19)

Building a Spatial Database in PostgreSQL by Kudos S.A.S
Building a Spatial Database in PostgreSQLBuilding a Spatial Database in PostgreSQL
Building a Spatial Database in PostgreSQL
Kudos S.A.S8.9K views
PostgreSQL Scaling And Failover by John Paulett
PostgreSQL Scaling And FailoverPostgreSQL Scaling And Failover
PostgreSQL Scaling And Failover
John Paulett24.7K views
My experience with embedding PostgreSQL by Jignesh Shah
 My experience with embedding PostgreSQL My experience with embedding PostgreSQL
My experience with embedding PostgreSQL
Jignesh Shah16.4K views
Android & PostgreSQL by Mark Wong
Android & PostgreSQLAndroid & PostgreSQL
Android & PostgreSQL
Mark Wong26.8K views
PostgreSQL Hooks for Fun and Profit by David Fetter
PostgreSQL Hooks for Fun and ProfitPostgreSQL Hooks for Fun and Profit
PostgreSQL Hooks for Fun and Profit
David Fetter331 views
Data Processing Inside PostgreSQL by EDB
Data Processing Inside PostgreSQLData Processing Inside PostgreSQL
Data Processing Inside PostgreSQL
EDB8.1K views
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable by Command Prompt., Inc
Howdah - An Application using Pylons, PostgreSQL, Simpycity and ExceptableHowdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
Howdah - An Application using Pylons, PostgreSQL, Simpycity and Exceptable
PostgreSQL Deep Internal by EXEM
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
EXEM2.5K views
alphorm.com - Formation PostgreSQL administration by Alphorm
alphorm.com - Formation PostgreSQL administrationalphorm.com - Formation PostgreSQL administration
alphorm.com - Formation PostgreSQL administration
Alphorm37.4K views
A couple of things about PostgreSQL... by Federico Campoli
A couple of things  about PostgreSQL...A couple of things  about PostgreSQL...
A couple of things about PostgreSQL...
Federico Campoli7.3K views
Postgresql database administration volume 1 by Federico Campoli
Postgresql database administration volume 1Postgresql database administration volume 1
Postgresql database administration volume 1
Federico Campoli33.3K views

Similar to Pro PostgreSQL, OSCon 2008

Planning for-high-performance-web-application by
Planning for-high-performance-web-applicationPlanning for-high-performance-web-application
Planning for-high-performance-web-applicationNguyễn Duy Nhân
1.8K views44 slides
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica... by
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...Command Prompt., Inc
2.7K views28 slides
Linux Desktop Automation by
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
858 views39 slides
Creating customized openSUSE versions with SUSE Studio by
Creating customized openSUSE versions with SUSE StudioCreating customized openSUSE versions with SUSE Studio
Creating customized openSUSE versions with SUSE Studioelliando dias
1K views18 slides
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ... by
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios
2.1K views24 slides
The Accidental DBA by
The Accidental DBAThe Accidental DBA
The Accidental DBAPostgreSQL Experts, Inc.
1.5K views61 slides

Similar to Pro PostgreSQL, OSCon 2008(20)

Planning for-high-performance-web-application by Nguyễn Duy Nhân
Planning for-high-performance-web-applicationPlanning for-high-performance-web-application
Planning for-high-performance-web-application
Nguyễn Duy Nhân1.8K views
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica... by Command Prompt., Inc
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Linux Desktop Automation by Rui Lapa
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
Rui Lapa858 views
Creating customized openSUSE versions with SUSE Studio by elliando dias
Creating customized openSUSE versions with SUSE StudioCreating customized openSUSE versions with SUSE Studio
Creating customized openSUSE versions with SUSE Studio
elliando dias1K views
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ... by Nagios
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios2.1K views
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red... by OpenShift Origin
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
OpenShift Origin5K views
Planning For High Performance Web Application by Yue Tian
Planning For High Performance Web ApplicationPlanning For High Performance Web Application
Planning For High Performance Web Application
Yue Tian1.3K views
PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K... by Equnix
PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K...PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K...
PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K...
Equnix786 views
Out of the Box Replication in Postgres 9.4(pgconfsf) by Denish Patel
Out of the Box Replication in Postgres 9.4(pgconfsf)Out of the Box Replication in Postgres 9.4(pgconfsf)
Out of the Box Replication in Postgres 9.4(pgconfsf)
Denish Patel453 views
Out of the Box Replication in Postgres 9.4(PgCon) by Denish Patel
Out of the Box Replication in Postgres 9.4(PgCon)Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)
Denish Patel1.5K views
Out of the Box Replication in Postgres 9.4(PgCon) by Denish Patel
Out of the Box Replication in Postgres 9.4(PgCon)Out of the Box Replication in Postgres 9.4(PgCon)
Out of the Box Replication in Postgres 9.4(PgCon)
Denish Patel354 views
Linux Common Command by Jeff Yang
Linux Common CommandLinux Common Command
Linux Common Command
Jeff Yang909 views
Hadoop Summit San Jose 2013: Compression Options in Hadoop - A Tale of Tradeo... by Sumeet Singh
Hadoop Summit San Jose 2013: Compression Options in Hadoop - A Tale of Tradeo...Hadoop Summit San Jose 2013: Compression Options in Hadoop - A Tale of Tradeo...
Hadoop Summit San Jose 2013: Compression Options in Hadoop - A Tale of Tradeo...
Sumeet Singh535 views
Bundling Packages and Deploying Applications with RPM by Alexander Shopov
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
Alexander Shopov3.2K views
2009-03-13 Atlanda System z Council Meeting by Shawn Wells
2009-03-13 Atlanda System z Council Meeting2009-03-13 Atlanda System z Council Meeting
2009-03-13 Atlanda System z Council Meeting
Shawn Wells49 views
DrupalCampLA 2011: Drupal backend-performance by Ashok Modi
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi3.8K views
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ... by javier ramirez
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
javier ramirez43 views

More from Robert Treat

Advanced Int->Bigint Conversions by
Advanced Int->Bigint ConversionsAdvanced Int->Bigint Conversions
Advanced Int->Bigint ConversionsRobert Treat
121 views56 slides
Explaining Explain by
Explaining ExplainExplaining Explain
Explaining ExplainRobert Treat
590 views63 slides
the-lost-art-of-plpgsql by
the-lost-art-of-plpgsqlthe-lost-art-of-plpgsql
the-lost-art-of-plpgsqlRobert Treat
1.6K views44 slides
Managing Chaos In Production: Testing vs Monitoring by
Managing Chaos In Production: Testing vs MonitoringManaging Chaos In Production: Testing vs Monitoring
Managing Chaos In Production: Testing vs MonitoringRobert Treat
429 views70 slides
Managing Databases In A DevOps Environment 2016 by
Managing Databases In A DevOps Environment 2016Managing Databases In A DevOps Environment 2016
Managing Databases In A DevOps Environment 2016Robert Treat
755 views153 slides
Less Alarming Alerts - SRECon 2016 by
Less Alarming Alerts - SRECon 2016 Less Alarming Alerts - SRECon 2016
Less Alarming Alerts - SRECon 2016 Robert Treat
794 views55 slides

More from Robert Treat(20)

Advanced Int->Bigint Conversions by Robert Treat
Advanced Int->Bigint ConversionsAdvanced Int->Bigint Conversions
Advanced Int->Bigint Conversions
Robert Treat121 views
the-lost-art-of-plpgsql by Robert Treat
the-lost-art-of-plpgsqlthe-lost-art-of-plpgsql
the-lost-art-of-plpgsql
Robert Treat1.6K views
Managing Chaos In Production: Testing vs Monitoring by Robert Treat
Managing Chaos In Production: Testing vs MonitoringManaging Chaos In Production: Testing vs Monitoring
Managing Chaos In Production: Testing vs Monitoring
Robert Treat429 views
Managing Databases In A DevOps Environment 2016 by Robert Treat
Managing Databases In A DevOps Environment 2016Managing Databases In A DevOps Environment 2016
Managing Databases In A DevOps Environment 2016
Robert Treat755 views
Less Alarming Alerts - SRECon 2016 by Robert Treat
Less Alarming Alerts - SRECon 2016 Less Alarming Alerts - SRECon 2016
Less Alarming Alerts - SRECon 2016
Robert Treat794 views
What Ops Can Learn From Design by Robert Treat
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
Robert Treat1.6K views
Postgres 9.4 First Look by Robert Treat
Postgres 9.4 First LookPostgres 9.4 First Look
Postgres 9.4 First Look
Robert Treat10.2K views
Less Alarming Alerts! by Robert Treat
Less Alarming Alerts!Less Alarming Alerts!
Less Alarming Alerts!
Robert Treat1.7K views
Past, Present, and Pachyderm - All Things Open - 2013 by Robert Treat
Past, Present, and Pachyderm - All Things Open - 2013Past, Present, and Pachyderm - All Things Open - 2013
Past, Present, and Pachyderm - All Things Open - 2013
Robert Treat9K views
Big Bad "Upgraded" Postgres by Robert Treat
Big Bad "Upgraded" PostgresBig Bad "Upgraded" Postgres
Big Bad "Upgraded" Postgres
Robert Treat2.5K views
Managing Databases In A DevOps Environment by Robert Treat
Managing Databases In A DevOps EnvironmentManaging Databases In A DevOps Environment
Managing Databases In A DevOps Environment
Robert Treat5.6K views
The Essential PostgreSQL.conf by Robert Treat
The Essential PostgreSQL.confThe Essential PostgreSQL.conf
The Essential PostgreSQL.conf
Robert Treat7.6K views
Advanced WAL File Management With OmniPITR by Robert Treat
Advanced WAL File Management With OmniPITRAdvanced WAL File Management With OmniPITR
Advanced WAL File Management With OmniPITR
Robert Treat2.1K views
Scaling with Postgres (Highload++ 2010) by Robert Treat
Scaling with Postgres (Highload++ 2010)Scaling with Postgres (Highload++ 2010)
Scaling with Postgres (Highload++ 2010)
Robert Treat1.4K views
Intro to Postgres 9 Tutorial by Robert Treat
Intro to Postgres 9 TutorialIntro to Postgres 9 Tutorial
Intro to Postgres 9 Tutorial
Robert Treat8K views
Database Scalability Patterns by Robert Treat
Database Scalability PatternsDatabase Scalability Patterns
Database Scalability Patterns
Robert Treat967 views
A Guide To PostgreSQL 9.0 by Robert Treat
A Guide To PostgreSQL 9.0A Guide To PostgreSQL 9.0
A Guide To PostgreSQL 9.0
Robert Treat7.3K views

Recently uploaded

Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveNetwork Automation Forum
46 views35 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
56 views26 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
111 views13 slides
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
57 views25 slides
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
96 views7 slides
MVP and prioritization.pdf by
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
38 views8 slides

Recently uploaded(20)

Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely56 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue111 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue57 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue91 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue41 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue83 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue74 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc77 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates by ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue119 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue56 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue46 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue96 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue46 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views

Pro PostgreSQL, OSCon 2008

  • 1. Pro PostgreSQL Robert Treat omniti.com brighterlamp.org
  • 2.
  • 3.
  • 4. K-0 Know Your Way Around The Project
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. S-0 Get Off To A Good Start
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. U-0 Let's Talk About Upgrades
  • 21. U-1 Let's Talk About Upgrades Versioning First Digit ( 7 .4.16 -> 8 .2.0) Second Digit (8.2.4 -> 8.3.0) Third Digit (8.3.0 -> 8.3.1)
  • 22. U-2 Let's Talk About Upgrades Versioning First Digit (7.4.16 -> 8.2.0) Second Digit (8. 2 .4 -> 8. 3 .0) Third Digit (8.3.0 -> 8.3.1)
  • 23. U-3 Let's Talk About Upgrades Versioning First Digit (7.4.16 -> 8.2.0) Second Digit (8.2.4 -> 8.3.0) Third Digit (8.3. 0 -> 8.3. 1 )
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. C-0 Figure Your Configure
  • 30.
  • 31.
  • 32.
  • 34.
  • 35.
  • 36.
  • 37. P-0 Hardware For Software People
  • 38.
  • 39.
  • 40.
  • 41.
  • 42. A-0 Availability (Not Scalability)
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 55. H-1 Scalability what is scaling? “ How well a solution to some problem will work when the relative size of the problem increases” - Theo Schlossnagle
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. J-0 Query Your Queries
  • 66.
  • 67.
  • 68. J-3 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 69. J-4 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 70. J-5 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 71. J-6 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 72. J-7 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 73. J-8 Query Your Queries finding slow queries: pg_stat_all_tables pagila=# pg_stat_all_tables View "pg_catalog.pg_stat_all_tables" Column | Type | ------------------+-------------+ relid | oid | schemaname | name | relname | name | seq_scan | bigint | seq_tup_read | bigint | idx_scan | bigint | idx_tup_fetch | bigint | n_tup_ins | bigint | n_tup_upd | bigint | n_tup_del | bigint | n_tup_hot_upd | bigint | n_live_tup | bigint | n_dead_tup | bigint | last_vacuum | timestamptz | last_autovacuum | timestamptz | last_analyze | timestamptz | last_autoanalyze | timestamptz |
  • 74. J-9 Query Your Queries finding slow queries: pg_stat_all_indexes pagila=# pg_stat_all_indexes View "pg_catalog.pg_stat_all_indexes" Column | Type | ---------------+--------+ relid | oid | indexrelid | oid | schemaname | name | relname | name | indexrelname | name | idx_scan | bigint | idx_tup_read | bigint | idx_tup_fetch | bigint |
  • 75. J-10 Query Your Queries finding slow queries: pg_stat_all_indexes pagila=# pg_stat_all_indexes View "pg_catalog.pg_stat_all_indexes" Column | Type | ---------------+--------+ relid | oid | indexrelid | oid | schemaname | name | relname | name | indexrelname | name | idx_scan | bigint | idx_tup_read | bigint | idx_tup_fetch | bigint |
  • 76. J-11 Query Your Queries finding slow queries: pg_statio_all_tables pagila=# pg_statio_all_tables View "pg_catalog.pg_statio_all_tables" Column | Type | -----------------+--------+ relid | oid | schemaname | name | relname | name | heap_blks_read | bigint | heap_blks_hit | bigint | idx_blks_read | bigint | idx_blks_hit | bigint | toast_blks_read | bigint | toast_blks_hit | bigint | tidx_blks_read | bigint | tidx_blks_hit | bigint |
  • 77. J-12 Query Your Queries finding slow queries: pg_statio_all_tables pagila=# pg_statio_all_tables View "pg_catalog.pg_statio_all_tables" Column | Type | -----------------+--------+ relid | oid | schemaname | name | relname | name | heap_blks_read | bigint | heap_blks_hit | bigint | idx_blks_read | bigint | idx_blks_hit | bigint | toast_blks_read | bigint | toast_blks_hit | bigint | tidx_blks_read | bigint | tidx_blks_hit | bigint |
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 89.
  • 90.
  • 92.
  • 93.
  • 94.
  • 95. I-0 Other Stuff I Should Mention
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104. I-9 Other Stuff I Should Mention ;-) my book?
  • 105.