SlideShare a Scribd company logo
1 of 29
Download to read offline
The Maze of Postgres Options
BRUCE MOMJIAN
This presentation explains the many decisions needed to deploy
Postgres successfully.
Creative Commons Attribution License http://momjian.us/presentations
Last updated: February, 2019
1 / 29
PostgreSQL the database…
◮ Open Source Object Relational DBMS since 1996
◮ Distributed under the PostgreSQL License
◮ Similar technical heritage as Oracle, SQL Server & DB2
◮ However, a strong adherence to standards (ANSI-SQL 2008)
◮ Highly extensible and adaptable design
◮ Languages, indexing, data types, etc.
◮ E.g. PostGIS, JSONB, SQL/MED
◮ Extensive use throughout the world for applications and
organizations of all types
◮ Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS, and
most cloud providers
2 / 29
PostgreSQL the community…
◮ Independent community led by a Core Team of five
◮ Large, active and vibrant community
◮ www.postgresql.org
◮ Downloads, Mailing lists, Documentation
◮ Sponsors sampler:
◮ Red Hat, VMWare, NTT, Fujitsu, Amazon, and EnterpriseDB
◮ http://www.postgresql.org/community/
3 / 29
EnterpriseDB the company…
◮ Leading worldwide provider of Postgres software and services
◮ More than 4,000 enterprises, governments, and other
organizations worldwide
◮ EDB Postgres Platform with:
◮ PostgreSQL and EDB Postgres Advanced Server including
additional enterprise functionaility
◮ Tool Suites for Management, Integration, and Migration,
including High Availability and Disaster Recovery
◮ Professional Services, 24/7 global support, and Remote DBA
◮ Training and Certification
◮ Citizenship
◮ Contributor of key features: Materialized Views, JSON, & more
◮ Sixteen community members on staff
4 / 29
EnterpriseDB the company…
5 / 29
EDB Recognized 5 Years In a Row
in Gartner’s Magic Quadrant
6 / 29
Outline
1. Open source’s many options
2. Database server
3. Extensions
4. Deployment utilities
5. Monitoring options
6. Do you need a vendor?
7. Conclusion
7 / 29
1. Open Source’s Many Options
https://www.flickr.com/photos/zoso_tc/
8 / 29
Closed-Source Software
Black Box
987234
VWOJVCData ...
Func(...)
9 / 29
Support of Close-Source Software
Support
Database
Company
10/ 29
Open-Source Software
Data ...
Func(...) 987234
VWOJVC
Clear Box
11/ 29
Support of Open-Source Software
Support
Support
Support
Source Code
Mailing Lists
EnterpriseDB
12/ 29
2. Database server
◮ Community server, www.postgresql.org
◮ Company-enhanced (closed-source) servers
◮ EnterpriseDB (EDB Postgres Advanced Server)
◮ Postgres Professional (Postgres Pro Enterprise)
◮ 2nd Quadrant (2ndQPostgres)
◮ FUJITSU (FUJITSU Enterprise Postgres)
◮ Amazon Web Services (RDS Postgres)
These products closely track Postgres community versions.
https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases
13/ 29
3. Extensions
As an object-relational open-source database, extensions are a rich
source of features in Postgres. These include:
◮ Extensions shipped with Postgres, e.g., pgcrypto, postgres_fdw
◮ Extension repositories, e.g., PGXN
◮ Independent extensions, e.g., PostGIS, Citus extensions
https://www.postgresql.org/docs/current/index.html
14/ 29
Server-Side Languages
◮ Included in the Postgres distribution
◮ PL/Perl
◮ PL/pgSQL
◮ PL/Python
◮ PL/Tcl
◮ SPI
◮ Github
◮ PL/Java
◮ PL/PHP
◮ PL/Ruby
◮ PL/Scheme
◮ PL/sh
◮ PGXN
◮ PL/v8
◮ External
◮ PL/R
http://www.postgresql.org/docs/current/external-pl.html
15/ 29
4. Deployment Utilities
◮ Deployment utilities shipped with Postgres, e.g., vacuumlo
◮ Tool repositories, e.g. PGXN
◮ Company produced
https://www.postgresql.org/docs/current/contrib-prog.html
16/ 29
Backup Utilities
◮ Shipped with Postgres: pg_dump, pg_restore, point-in-time
recovery
◮ pgBackRest
◮ Barman
◮ EDB Backup and Recovery Tool (BART)
17/ 29
Failover Utilities
◮ Patroni
◮ repmgr
◮ EDB Postgres Failover Manager (EFM)
18/ 29
Cloud/Container/VM Deployment
◮ Single-vendor cloud, e.g., AWS, Azure
◮ Multi-vendor cloud, e.g., EDB Ark
◮ Docker deployment
◮ Kubernetes tools
19/ 29
5. Monitoring Options
◮ Shipped with Postgres, e.g., pg_stat_activity, pg_locks, statistic
views, pg_stat_statements
◮ Independent, e.g. pgbadger, Nagios, Prometheus, Grafana
◮ Postgres Enterprise Manager (PEM)
20/ 29
Monitoring Capabilities
Operating System: vmstat, iostat
Process/Session: ps, top −c, pg_stat_activity
log_statement_stats
Query: pg_stat_activity.query, log_statement,
Parser: log_parser_stats
Planner: log_planner_stats
Executor: log_executor_stats, pg_locks,
log_lock_waits, pg_stat_activity.wait_event
time
sar, check_postgres,
log_temp_files
tail_n_mail
pg_stat_statements,
log_min_duration_statement,
pgbadger
e.g. pg_stat_all_tables
auto_explain
Reporting
Alterting /
Aggregation
21/ 29
6. Do You Need a Vendor?
◮ The database server and many extensions and tools are available
for free
◮ Adding the missing parts is “a simple matter of programming”
◮ You can build your own Postgres open source support team
This is only possible because open source gives everyone the ability
to become an expert.
22/ 29
Becoming an Expert Has Costs
◮ Payroll, management, testing, and reliability costs
◮ Delayed deployment
◮ Increased dependency on staff skills
◮ Easy customization, but deployment rigidity
23/ 29
Make or Buy Decision
Cook for yourself or go to a restaurant?
◮ Cook yourself
◮ Ingredients
◮ Cooking skills
◮ Single dish
◮ Less cost, more time
◮ Restaurant
◮ Variety
◮ Simplicity, flexibility
◮ More cost, less time
24/ 29
In-House/Vendor Trade Off
Costs
% of Work Done by Vendor
Internal cost
Vendor cost
25/ 29
Choosing a Postgres Vendor (or Restaurant)
◮ A broad range of vendor-cost options are available, more than in
proprietary software
◮ Are vendor expenses less than the value of increased efficiency
and reduced in-house costs?
◮ Paid vendor $400k but increased efficiency and reduced in-house
costs by $700k
◮ More expensive vendors can sometimes increase efficiency and
reduce in-house costs more than inexpensive vendors
◮ Are you using all low-cost vendor services to increase value and
reduce costs?
26/ 29
Postgres Vendor Specialties
◮ Consulting
◮ Support
◮ Open-source products
◮ Closed-source products
◮ Cloud hosting
◮ Training
◮ Migration assistance
◮ System health check
27/ 29
Additional Resources…
◮ Postgres Downloads:
◮ www.enterprisedb.com/downloads
◮ Product and Services information:
◮ info@enterprisedb.com
28/ 29
7. Conclusion
http://momjian.us/presentations https://www.flickr.com/photos/judy-van-der-velden/
29/ 29

More Related Content

What's hot

MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks EDB
 
The Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data CenterThe Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data CenterEDB
 
How to Design for Database High Availability
How to Design for Database High AvailabilityHow to Design for Database High Availability
How to Design for Database High AvailabilityEDB
 
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleAutomating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleEDB
 
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres DayPostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres DayEDB
 
Postgres Deployment Automation with Terraform and Ansible
 Postgres Deployment Automation with Terraform and Ansible Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and AnsibleEDB
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationEDB
 
Installing Postgres on Windows
Installing Postgres on WindowsInstalling Postgres on Windows
Installing Postgres on WindowsEDB
 
How to Monitor Postgres Like a Pro!
How to Monitor Postgres Like a Pro!How to Monitor Postgres Like a Pro!
How to Monitor Postgres Like a Pro!EDB
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and DjangoEDB
 
Migration DB2 to EDB - Project Experience
 Migration DB2 to EDB - Project Experience Migration DB2 to EDB - Project Experience
Migration DB2 to EDB - Project ExperienceEDB
 
EDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB
 
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...EDB
 
Deployment of PostgreSQL inside of Kubernetes with High Availability
 Deployment of PostgreSQL inside of Kubernetes with High Availability Deployment of PostgreSQL inside of Kubernetes with High Availability
Deployment of PostgreSQL inside of Kubernetes with High AvailabilityEDB
 
Oracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleOracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleEDB
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12EDB
 
Online Upgrade Using Logical Replication
 Online Upgrade Using Logical Replication Online Upgrade Using Logical Replication
Online Upgrade Using Logical ReplicationEDB
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEDB
 
Which Postgres is Right for You?
Which Postgres is Right for You? Which Postgres is Right for You?
Which Postgres is Right for You? EDB
 
Postgres Point-in-Time Recovery
Postgres Point-in-Time RecoveryPostgres Point-in-Time Recovery
Postgres Point-in-Time RecoveryEDB
 

What's hot (20)

MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks MongoDB vs. Postgres Benchmarks
MongoDB vs. Postgres Benchmarks
 
The Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data CenterThe Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data Center
 
How to Design for Database High Availability
How to Design for Database High AvailabilityHow to Design for Database High Availability
How to Design for Database High Availability
 
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and AnsibleAutomating Postgres Deployments on AWS and VMware, with Terraform and Ansible
Automating Postgres Deployments on AWS and VMware, with Terraform and Ansible
 
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres DayPostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
 
Postgres Deployment Automation with Terraform and Ansible
 Postgres Deployment Automation with Terraform and Ansible Postgres Deployment Automation with Terraform and Ansible
Postgres Deployment Automation with Terraform and Ansible
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
 
Installing Postgres on Windows
Installing Postgres on WindowsInstalling Postgres on Windows
Installing Postgres on Windows
 
How to Monitor Postgres Like a Pro!
How to Monitor Postgres Like a Pro!How to Monitor Postgres Like a Pro!
How to Monitor Postgres Like a Pro!
 
Large Table Partitioning with PostgreSQL and Django
 Large Table Partitioning with PostgreSQL and Django Large Table Partitioning with PostgreSQL and Django
Large Table Partitioning with PostgreSQL and Django
 
Migration DB2 to EDB - Project Experience
 Migration DB2 to EDB - Project Experience Migration DB2 to EDB - Project Experience
Migration DB2 to EDB - Project Experience
 
EDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 WebinarEDB Postgres Platform 11 Webinar
EDB Postgres Platform 11 Webinar
 
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
Overview of EnterpriseDB Postgres Plus Advanced Server 9.4 and Postgres Enter...
 
Deployment of PostgreSQL inside of Kubernetes with High Availability
 Deployment of PostgreSQL inside of Kubernetes with High Availability Deployment of PostgreSQL inside of Kubernetes with High Availability
Deployment of PostgreSQL inside of Kubernetes with High Availability
 
Oracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration HustleOracle to Postgres Schema Migration Hustle
Oracle to Postgres Schema Migration Hustle
 
Whats New in Postgres 12
Whats New in Postgres 12Whats New in Postgres 12
Whats New in Postgres 12
 
Online Upgrade Using Logical Replication
 Online Upgrade Using Logical Replication Online Upgrade Using Logical Replication
Online Upgrade Using Logical Replication
 
EPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in MinutesEPAS + Cloud = Oracle Compatible Postgres in Minutes
EPAS + Cloud = Oracle Compatible Postgres in Minutes
 
Which Postgres is Right for You?
Which Postgres is Right for You? Which Postgres is Right for You?
Which Postgres is Right for You?
 
Postgres Point-in-Time Recovery
Postgres Point-in-Time RecoveryPostgres Point-in-Time Recovery
Postgres Point-in-Time Recovery
 

Similar to Exploring Postgres with Bruce Momjian

Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresqlbotsplash.com
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open SourceJustin Reock
 
Startup Engineering Cookbook
Startup Engineering CookbookStartup Engineering Cookbook
Startup Engineering CookbookManish Jain
 
Strategies for Context Data Persistence
Strategies for Context Data PersistenceStrategies for Context Data Persistence
Strategies for Context Data PersistenceFIWARE
 
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Alen Leit
 
Canonical Ubuntu OpenStack Overview Presentation
Canonical Ubuntu OpenStack Overview PresentationCanonical Ubuntu OpenStack Overview Presentation
Canonical Ubuntu OpenStack Overview PresentationThe World Bank
 
Uniface 9.7 en PostgreSQL
Uniface 9.7 en PostgreSQLUniface 9.7 en PostgreSQL
Uniface 9.7 en PostgreSQLArjen van Vliet
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)Prometheus: A Next Generation Monitoring System (FOSDEM 2016)
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)Brian Brazil
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Deepu K Sasidharan
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native DevelopmentManuel Garcia
 
Distributed deep learning reference architecture v3.2l
Distributed deep learning reference architecture v3.2lDistributed deep learning reference architecture v3.2l
Distributed deep learning reference architecture v3.2lGanesan Narayanasamy
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxsaidbilgen
 
Start your open source project
Start your open source projectStart your open source project
Start your open source projectAhmed Othman
 
Postgres Scaling Opportunities and Options
Postgres Scaling Opportunities and OptionsPostgres Scaling Opportunities and Options
Postgres Scaling Opportunities and OptionsEDB
 
High Availability PostgreSQL on OpenShift...and more!
High Availability PostgreSQL on OpenShift...and more!High Availability PostgreSQL on OpenShift...and more!
High Availability PostgreSQL on OpenShift...and more!Jonathan Katz
 
Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview EDB
 

Similar to Exploring Postgres with Bruce Momjian (20)

Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
Community vs. Commercial Open Source
Community vs. Commercial Open SourceCommunity vs. Commercial Open Source
Community vs. Commercial Open Source
 
Startup Engineering Cookbook
Startup Engineering CookbookStartup Engineering Cookbook
Startup Engineering Cookbook
 
Strategies for Context Data Persistence
Strategies for Context Data PersistenceStrategies for Context Data Persistence
Strategies for Context Data Persistence
 
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
Progress core product group strategy and roadmap - PUG Baltic Annual Conferen...
 
Canonical Ubuntu OpenStack Overview Presentation
Canonical Ubuntu OpenStack Overview PresentationCanonical Ubuntu OpenStack Overview Presentation
Canonical Ubuntu OpenStack Overview Presentation
 
All in one
All in oneAll in one
All in one
 
Uniface 9.7 en PostgreSQL
Uniface 9.7 en PostgreSQLUniface 9.7 en PostgreSQL
Uniface 9.7 en PostgreSQL
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)Prometheus: A Next Generation Monitoring System (FOSDEM 2016)
Prometheus: A Next Generation Monitoring System (FOSDEM 2016)
 
Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017Easy Microservices with JHipster - Devoxx BE 2017
Easy Microservices with JHipster - Devoxx BE 2017
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
Cloud Native Development
Cloud Native DevelopmentCloud Native Development
Cloud Native Development
 
Distributed deep learning reference architecture v3.2l
Distributed deep learning reference architecture v3.2lDistributed deep learning reference architecture v3.2l
Distributed deep learning reference architecture v3.2l
 
Microsoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptxMicrosoft-Azure-Overvi2222222222222ew.pptx
Microsoft-Azure-Overvi2222222222222ew.pptx
 
Start your open source project
Start your open source projectStart your open source project
Start your open source project
 
Postgres Scaling Opportunities and Options
Postgres Scaling Opportunities and OptionsPostgres Scaling Opportunities and Options
Postgres Scaling Opportunities and Options
 
High Availability PostgreSQL on OpenShift...and more!
High Availability PostgreSQL on OpenShift...and more!High Availability PostgreSQL on OpenShift...and more!
High Availability PostgreSQL on OpenShift...and more!
 
PostgreSQL and MySQL
PostgreSQL and MySQLPostgreSQL and MySQL
PostgreSQL and MySQL
 
Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview Postgres Enterprise Manager 4.0 Overview
Postgres Enterprise Manager 4.0 Overview
 

More from EDB

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSEDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenEDB
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube EDB
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EDB
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLEDB
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLEDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLEDB
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?EDB
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLEDB
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresEDB
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINEDB
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQLEDB
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLEDB
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoEDB
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13EDB
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLEDB
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJEDB
 

More from EDB (20)

Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaSCloud Migration Paths: Kubernetes, IaaS, or DBaaS
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr UnternehmenDie 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
 
Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube Migre sus bases de datos Oracle a la nube
Migre sus bases de datos Oracle a la nube
 
EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021EFM Office Hours - APJ - July 29, 2021
EFM Office Hours - APJ - July 29, 2021
 
Benchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQLBenchmarking Cloud Native PostgreSQL
Benchmarking Cloud Native PostgreSQL
 
Las Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQLLas Variaciones de la Replicación de PostgreSQL
Las Variaciones de la Replicación de PostgreSQL
 
NoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQLNoSQL and Spatial Database Capabilities using PostgreSQL
NoSQL and Spatial Database Capabilities using PostgreSQL
 
Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?Is There Anything PgBouncer Can’t Do?
Is There Anything PgBouncer Can’t Do?
 
Data Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQLData Analysis with TensorFlow in PostgreSQL
Data Analysis with TensorFlow in PostgreSQL
 
Practical Partitioning in Production with Postgres
Practical Partitioning in Production with PostgresPractical Partitioning in Production with Postgres
Practical Partitioning in Production with Postgres
 
A Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAINA Deeper Dive into EXPLAIN
A Deeper Dive into EXPLAIN
 
IOT with PostgreSQL
IOT with PostgreSQLIOT with PostgreSQL
IOT with PostgreSQL
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Psql is awesome!
Psql is awesome!Psql is awesome!
Psql is awesome!
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJEDB 13 - New Enhancements for Security and Usability - APJ
EDB 13 - New Enhancements for Security and Usability - APJ
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Cloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - ItalianoCloud Native PostgreSQL - Italiano
Cloud Native PostgreSQL - Italiano
 
New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13New enhancements for security and usability in EDB 13
New enhancements for security and usability in EDB 13
 
Best Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQLBest Practices in Security with PostgreSQL
Best Practices in Security with PostgreSQL
 
Cloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJCloud Native PostgreSQL - APJ
Cloud Native PostgreSQL - APJ
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Exploring Postgres with Bruce Momjian

  • 1. The Maze of Postgres Options BRUCE MOMJIAN This presentation explains the many decisions needed to deploy Postgres successfully. Creative Commons Attribution License http://momjian.us/presentations Last updated: February, 2019 1 / 29
  • 2. PostgreSQL the database… ◮ Open Source Object Relational DBMS since 1996 ◮ Distributed under the PostgreSQL License ◮ Similar technical heritage as Oracle, SQL Server & DB2 ◮ However, a strong adherence to standards (ANSI-SQL 2008) ◮ Highly extensible and adaptable design ◮ Languages, indexing, data types, etc. ◮ E.g. PostGIS, JSONB, SQL/MED ◮ Extensive use throughout the world for applications and organizations of all types ◮ Bundled into Red Hat Enterprise Linux, Ubuntu, CentOS, and most cloud providers 2 / 29
  • 3. PostgreSQL the community… ◮ Independent community led by a Core Team of five ◮ Large, active and vibrant community ◮ www.postgresql.org ◮ Downloads, Mailing lists, Documentation ◮ Sponsors sampler: ◮ Red Hat, VMWare, NTT, Fujitsu, Amazon, and EnterpriseDB ◮ http://www.postgresql.org/community/ 3 / 29
  • 4. EnterpriseDB the company… ◮ Leading worldwide provider of Postgres software and services ◮ More than 4,000 enterprises, governments, and other organizations worldwide ◮ EDB Postgres Platform with: ◮ PostgreSQL and EDB Postgres Advanced Server including additional enterprise functionaility ◮ Tool Suites for Management, Integration, and Migration, including High Availability and Disaster Recovery ◮ Professional Services, 24/7 global support, and Remote DBA ◮ Training and Certification ◮ Citizenship ◮ Contributor of key features: Materialized Views, JSON, & more ◮ Sixteen community members on staff 4 / 29
  • 6. EDB Recognized 5 Years In a Row in Gartner’s Magic Quadrant 6 / 29
  • 7. Outline 1. Open source’s many options 2. Database server 3. Extensions 4. Deployment utilities 5. Monitoring options 6. Do you need a vendor? 7. Conclusion 7 / 29
  • 8. 1. Open Source’s Many Options https://www.flickr.com/photos/zoso_tc/ 8 / 29
  • 10. Support of Close-Source Software Support Database Company 10/ 29
  • 11. Open-Source Software Data ... Func(...) 987234 VWOJVC Clear Box 11/ 29
  • 12. Support of Open-Source Software Support Support Support Source Code Mailing Lists EnterpriseDB 12/ 29
  • 13. 2. Database server ◮ Community server, www.postgresql.org ◮ Company-enhanced (closed-source) servers ◮ EnterpriseDB (EDB Postgres Advanced Server) ◮ Postgres Professional (Postgres Pro Enterprise) ◮ 2nd Quadrant (2ndQPostgres) ◮ FUJITSU (FUJITSU Enterprise Postgres) ◮ Amazon Web Services (RDS Postgres) These products closely track Postgres community versions. https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases 13/ 29
  • 14. 3. Extensions As an object-relational open-source database, extensions are a rich source of features in Postgres. These include: ◮ Extensions shipped with Postgres, e.g., pgcrypto, postgres_fdw ◮ Extension repositories, e.g., PGXN ◮ Independent extensions, e.g., PostGIS, Citus extensions https://www.postgresql.org/docs/current/index.html 14/ 29
  • 15. Server-Side Languages ◮ Included in the Postgres distribution ◮ PL/Perl ◮ PL/pgSQL ◮ PL/Python ◮ PL/Tcl ◮ SPI ◮ Github ◮ PL/Java ◮ PL/PHP ◮ PL/Ruby ◮ PL/Scheme ◮ PL/sh ◮ PGXN ◮ PL/v8 ◮ External ◮ PL/R http://www.postgresql.org/docs/current/external-pl.html 15/ 29
  • 16. 4. Deployment Utilities ◮ Deployment utilities shipped with Postgres, e.g., vacuumlo ◮ Tool repositories, e.g. PGXN ◮ Company produced https://www.postgresql.org/docs/current/contrib-prog.html 16/ 29
  • 17. Backup Utilities ◮ Shipped with Postgres: pg_dump, pg_restore, point-in-time recovery ◮ pgBackRest ◮ Barman ◮ EDB Backup and Recovery Tool (BART) 17/ 29
  • 18. Failover Utilities ◮ Patroni ◮ repmgr ◮ EDB Postgres Failover Manager (EFM) 18/ 29
  • 19. Cloud/Container/VM Deployment ◮ Single-vendor cloud, e.g., AWS, Azure ◮ Multi-vendor cloud, e.g., EDB Ark ◮ Docker deployment ◮ Kubernetes tools 19/ 29
  • 20. 5. Monitoring Options ◮ Shipped with Postgres, e.g., pg_stat_activity, pg_locks, statistic views, pg_stat_statements ◮ Independent, e.g. pgbadger, Nagios, Prometheus, Grafana ◮ Postgres Enterprise Manager (PEM) 20/ 29
  • 21. Monitoring Capabilities Operating System: vmstat, iostat Process/Session: ps, top −c, pg_stat_activity log_statement_stats Query: pg_stat_activity.query, log_statement, Parser: log_parser_stats Planner: log_planner_stats Executor: log_executor_stats, pg_locks, log_lock_waits, pg_stat_activity.wait_event time sar, check_postgres, log_temp_files tail_n_mail pg_stat_statements, log_min_duration_statement, pgbadger e.g. pg_stat_all_tables auto_explain Reporting Alterting / Aggregation 21/ 29
  • 22. 6. Do You Need a Vendor? ◮ The database server and many extensions and tools are available for free ◮ Adding the missing parts is “a simple matter of programming” ◮ You can build your own Postgres open source support team This is only possible because open source gives everyone the ability to become an expert. 22/ 29
  • 23. Becoming an Expert Has Costs ◮ Payroll, management, testing, and reliability costs ◮ Delayed deployment ◮ Increased dependency on staff skills ◮ Easy customization, but deployment rigidity 23/ 29
  • 24. Make or Buy Decision Cook for yourself or go to a restaurant? ◮ Cook yourself ◮ Ingredients ◮ Cooking skills ◮ Single dish ◮ Less cost, more time ◮ Restaurant ◮ Variety ◮ Simplicity, flexibility ◮ More cost, less time 24/ 29
  • 25. In-House/Vendor Trade Off Costs % of Work Done by Vendor Internal cost Vendor cost 25/ 29
  • 26. Choosing a Postgres Vendor (or Restaurant) ◮ A broad range of vendor-cost options are available, more than in proprietary software ◮ Are vendor expenses less than the value of increased efficiency and reduced in-house costs? ◮ Paid vendor $400k but increased efficiency and reduced in-house costs by $700k ◮ More expensive vendors can sometimes increase efficiency and reduce in-house costs more than inexpensive vendors ◮ Are you using all low-cost vendor services to increase value and reduce costs? 26/ 29
  • 27. Postgres Vendor Specialties ◮ Consulting ◮ Support ◮ Open-source products ◮ Closed-source products ◮ Cloud hosting ◮ Training ◮ Migration assistance ◮ System health check 27/ 29
  • 28. Additional Resources… ◮ Postgres Downloads: ◮ www.enterprisedb.com/downloads ◮ Product and Services information: ◮ info@enterprisedb.com 28/ 29