SlideShare a Scribd company logo
PostgreSQL
Development
TODAY
                  Josh Berkus
       PostgreSQL Experts Inc.
                    LCA2010
BREAKING NEWS: January 15, 2010 ...
PostgreSQL 9.0 Enters Final Commitfest ...
   “many landmark features planned”,
            says developer ...
... wait, 9.0?!?
... landmark features ...
     Hot standby ... synchronous replication ...
 exclusion constraints ... JSON/XML EXPLAIN
 output ... Windows 64-bit ... writeable CTEs* ...
    permissions enhancements ...GRANT ON
ALL/DEFAULT ... SQL enhancements ... Ordered
 aggregates ... DO () statement ... performance
   improvements ... PL/Perl enhancements ...
        PL/Python enhancements ... new
                LISTEN/NOTIFY*
                                      * = not committed yet
... landmark features ...
     Hot standby ... synchronous replication ...
 exclusion constraints ... JSON/XML EXPLAIN
 output ... Windows 64-bit ... writeable CTEs* ...
    permissions enhancements ...GRANT ON
ALL/DEFAULT ... SQL enhancements ... Ordered
 aggregates ... DO () statement ... performance
   improvements ... PL/Perl enhancements ...
        PL/Python enhancements ... new
                LISTEN/NOTIFY*
                                      * = not committed yet
Postgres 9
... wait, commitfest?!?
scarce committer time
new review
1. review patches faster
2. review patches sooner
3. review every patch
4. train new reviewers
8.5 (9.0) RC and Branch           July 1 2009
     Development Period
    CommitFest 1                 July 15 2009
    Development Period        August 15 2009

    CommitFest 2           September 15 2009
    Development Period       October 15 2009

    CommitFest 3           November 15 2009
    Development Period     December 15 2009
    CommitFest 4             January 15 2010
Cleanup                     February 15 2010
    Integration & Review
         (2-4 weeks)
Beta    Beta Testing
        (2-3 months)

9.1 RC and Branch            June-July, 2010
… back to hot standby
8.0: Point-In-Time Recovery
           (PITR)
8.0: Point-In-Time Recovery
           (PITR)
8.0: Point-In-Time Recovery
           (PITR)
8.0: Point-In-Time Recovery
           (PITR)




      10 minutes to hours
8.3: Warm Standby
8.3: Warm Standby
8.3: Warm Standby




  seconds to minutes
8.3: Warm Standby
Alvaro Herrera
8.3 Ghost XID
          writ
              e
                19
          34 521




           read
      345
        321
          451
            29/2
              1 10
                 01
9.0: Hot Standby
Problems
with Hot Standby
Problems
with Hot Standby



                   x
max_standby_delay
max_standby_delay
different problems

1. Zero data loss
2. Seconds of downtime (or less)
3. Single-node performance
4. Scalability: not important
Fujii Masao




Itagaki Takahiro
pgCon 2008:
Synchronous Log-Shipping
       Replication
after 18 months:
“streaming replication”
after 18 months:
“streaming replication”



                walreciever
after 18 months:
“streaming replication”


walsender
                walreciever
Greg Sabino-Mullaine


Robert Haas
?
PostgreSQL Needs YOU
Many Patches == Lots of Testing
●   Bug Testing
     –   can you make 9.0 crash?
●   Specif cation Testing
         i
     –   do the features do what the docs say they do?
●   Performance Testing
     –   is 9.0 really faster? How much?
●   Combinational Testing
     –   what happens when you put several new features
         together?
Many Patches == Lots of Testing
1.   Take a copy of your production applications
2.   Port them to 9.0
3.   Report breakage and issues
4.   Play with implementing new features


                   Do It Now!
              We're counting on you!
Why contribute?
●   PostgreSQL is a community project
     – owned by the community, run by the community
     – if you contribute, you are a full participant
●   Tinker with cool database stuff
     – we are hard-core database geeks
     – learn a lot from top database hackers
●   Improve your employment prospects
     – database engineers are always in demand
Mailing Lists
●   Hackers list
         –   pgsql-hackers
         –   main list for development discussion
         –   submit patches here until we move off CVS
●   Testers list
         –   pgsql-testers
         –   submit test reports here
●   Specif c feature lists
         i
    –   pgsql-jdbc, pgsql-performance, pgsql-sql, etc.
    –   subscribe at www.postgresql.org/community/lists
Web Sites
●   www.postgresql.org
    –   main site
●   git.pgfoundry.org
    –   branches, feature forks, snapshots
●   wiki.postgresql.org
    –   community wiki, including TODO lists
    –   feature specs & testing info
●   archives.postgresql.org
    –   mailing list archives -- search for your idea here
Documentation
●   www.postgresql.org/docs
    –   main documentation
    –   internals:/docs/current/static/internals.html
    –   code conventions: /docs/current/static/source.html
●   doxygen.postgresql.org
    –   annotated source code
●   www.postgresql.org/docs/faqs.FAQ_DEV.html
    –   developer FAQ
Tips on submitting code
●   Don't get discouraged.
    –   Be prepared to argue.
    –   One hacker rejecting your idea doesn't mean everyone
        does.
    –   Committers (esp. Tom Lane) are often more concerned
        about maintainability than cool stuff.
●   Be f exible: you will have to make changes.
       l
    –   Corporate and academic coding standards are generally
        lower than the project's.
Other tips on submitting
●   Don't use the wrong arguments
    –   “MySQL/Oracle does it this way.”
    –   “Based on this hot academic trend.”
●   Some things make a patch harder to accept
    –   New syntax
    –   Backwards compatibility issues
    –   High code counts
●   Don't get discouraged.
Also: switching to git




●   9.0 was developed with both CVS and git
●   Probably just git in the future
Contact Information
●   Josh Berkus                                             ●   Upcoming Events:
    –   josh@postgresql.org                                                –   PG East: March,
    –   blogs.ittoolbox.com/                                                     Philadelphia
        database/soup                                                      –   pgCon: May 19,
    –   www.pgexperts.com                                                        Ottawa Canada
                                                                                 CfP Open!
●   User Groups                                                            –   OSCON: July,
         – pugs.postgresql.org                                                   Portland OR
    –   Wellington                                                               CfP Open!
    –   Sydney
    –   Adelaide
    –   Canberra
             This talk is copyright 2010 Josh Berkus, and is licensed under the creative commons attribution license

More Related Content

What's hot

Go, Docker & Kubernetes
Go, Docker &  KubernetesGo, Docker &  Kubernetes
Go, Docker & Kubernetes
Globant
 
Git training
Git trainingGit training
Git training
Jérémy Gobet
 
U boot source clean up project how-to
U boot source clean up project how-toU boot source clean up project how-to
U boot source clean up project how-toMacpaul Lin
 
Hg for bioinformatics, second part
Hg for bioinformatics, second partHg for bioinformatics, second part
Hg for bioinformatics, second part
Giovanni Marco Dall'Olio
 
Hg version control bioinformaticians
Hg version control bioinformaticiansHg version control bioinformaticians
Hg version control bioinformaticians
Giovanni Marco Dall'Olio
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
Kris Buytaert
 
Git slides
Git slidesGit slides
Git slides
55020
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
SV Ruby on Rails Meetup
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
err
 
Jenkins Shared Libraries
Jenkins Shared LibrariesJenkins Shared Libraries
Jenkins Shared Libraries
XPeppers
 
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016 GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
Fabrízio Mello
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftw
Arne Jørgensen
 
Lvm and gang 2015
Lvm and gang 2015Lvm and gang 2015
Lvm and gang 2015
plarsen67
 
Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012takluyver
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
Prem Aseem Jain
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Gitjherdman
 
Golang workshop
Golang workshopGolang workshop
Golang workshop
Victor S. Recio
 
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker imagesRootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
Daniel Garcia (a.k.a cr0hn)
 

What's hot (20)

Go, Docker & Kubernetes
Go, Docker &  KubernetesGo, Docker &  Kubernetes
Go, Docker & Kubernetes
 
Git training
Git trainingGit training
Git training
 
U boot source clean up project how-to
U boot source clean up project how-toU boot source clean up project how-to
U boot source clean up project how-to
 
Hg for bioinformatics, second part
Hg for bioinformatics, second partHg for bioinformatics, second part
Hg for bioinformatics, second part
 
Hg version control bioinformaticians
Hg version control bioinformaticiansHg version control bioinformaticians
Hg version control bioinformaticians
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 
Git slides
Git slidesGit slides
Git slides
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
 
Jenkins Shared Libraries
Jenkins Shared LibrariesJenkins Shared Libraries
Jenkins Shared Libraries
 
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016 GSoC2014 - PGDay Ijui/RS Presentation October, 2016
GSoC2014 - PGDay Ijui/RS Presentation October, 2016
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftw
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Lvm and gang 2015
Lvm and gang 2015Lvm and gang 2015
Lvm and gang 2015
 
Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012Debian packaging talk, Pysheff sept 2012
Debian packaging talk, Pysheff sept 2012
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Golang workshop
Golang workshopGolang workshop
Golang workshop
 
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker imagesRootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
 

Viewers also liked

Induction lesson
Induction lessonInduction lesson
Induction lesson
Chris Hildrew
 
Year 7 and 8 Insight Presentation
Year 7 and 8 Insight PresentationYear 7 and 8 Insight Presentation
Year 7 and 8 Insight Presentation
Chris Hildrew
 
Narrative theories new
Narrative theories newNarrative theories new
Narrative theories new
Chris Hildrew
 
Music magazine evaluation 2
Music magazine evaluation 2Music magazine evaluation 2
Music magazine evaluation 2ryojordanpanis
 
Question 3 and 4 as evaluation
Question 3 and 4 as evaluationQuestion 3 and 4 as evaluation
Question 3 and 4 as evaluationryojordanpanis
 
Simplifying Database Development (OSCON 2009)
Simplifying Database Development (OSCON 2009)Simplifying Database Development (OSCON 2009)
Simplifying Database Development (OSCON 2009)PostgreSQL Experts, Inc.
 
Options for year 10 parents 2013
Options for year 10 parents 2013Options for year 10 parents 2013
Options for year 10 parents 2013
Chris Hildrew
 

Viewers also liked (7)

Induction lesson
Induction lessonInduction lesson
Induction lesson
 
Year 7 and 8 Insight Presentation
Year 7 and 8 Insight PresentationYear 7 and 8 Insight Presentation
Year 7 and 8 Insight Presentation
 
Narrative theories new
Narrative theories newNarrative theories new
Narrative theories new
 
Music magazine evaluation 2
Music magazine evaluation 2Music magazine evaluation 2
Music magazine evaluation 2
 
Question 3 and 4 as evaluation
Question 3 and 4 as evaluationQuestion 3 and 4 as evaluation
Question 3 and 4 as evaluation
 
Simplifying Database Development (OSCON 2009)
Simplifying Database Development (OSCON 2009)Simplifying Database Development (OSCON 2009)
Simplifying Database Development (OSCON 2009)
 
Options for year 10 parents 2013
Options for year 10 parents 2013Options for year 10 parents 2013
Options for year 10 parents 2013
 

Similar to PostgreSQL Development Today: 9.0

Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsPostgreSQL Experts, Inc.
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
Command Prompt., Inc
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
Chandan Kumar
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
Jay Bryant
 
8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster
Hideki Yamane
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
AgisAnastasopoulos
 
Delivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoDelivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdo
Chandan Kumar
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
Mosky Liu
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel Introduction
Sage Sharp
 
Accelerating Big Data beyond the JVM - Fosdem 2018
Accelerating Big Data beyond the JVM - Fosdem 2018Accelerating Big Data beyond the JVM - Fosdem 2018
Accelerating Big Data beyond the JVM - Fosdem 2018
Holden Karau
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
gjdevos
 
Logs aggregation and analysis
Logs aggregation and analysisLogs aggregation and analysis
Logs aggregation and analysis
Divante
 
Are you using an opensource library? There's a good chance you are vulnerable...
Are you using an opensource library? There's a good chance you are vulnerable...Are you using an opensource library? There's a good chance you are vulnerable...
Are you using an opensource library? There's a good chance you are vulnerable...
Codemotion
 
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
Codemotion
 
2to3
2to32to3
2to3
zubin71
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
Anubhav Jain
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
ElasTest Project
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
Ivan Krylov
 

Similar to PostgreSQL Development Today: 9.0 (20)

Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and Variants
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO Delivering a bleeding edge community-led openstack distribution: RDO
Delivering a bleeding edge community-led openstack distribution: RDO
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
 
8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 
Delivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdoDelivering a bleeding edge community led open stack distribution- rdo
Delivering a bleeding edge community led open stack distribution- rdo
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel Introduction
 
Accelerating Big Data beyond the JVM - Fosdem 2018
Accelerating Big Data beyond the JVM - Fosdem 2018Accelerating Big Data beyond the JVM - Fosdem 2018
Accelerating Big Data beyond the JVM - Fosdem 2018
 
There is something about serverless
There is something about serverlessThere is something about serverless
There is something about serverless
 
Logs aggregation and analysis
Logs aggregation and analysisLogs aggregation and analysis
Logs aggregation and analysis
 
Are you using an opensource library? There's a good chance you are vulnerable...
Are you using an opensource library? There's a good chance you are vulnerable...Are you using an opensource library? There's a good chance you are vulnerable...
Are you using an opensource library? There's a good chance you are vulnerable...
 
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
Are you using an open source library? - Bruno Bossola - Codemotion Rome 2018
 
2to3
2to32to3
2to3
 
FireWorks overview
FireWorks overviewFireWorks overview
FireWorks overview
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
What to expect from Java 9
What to expect from Java 9What to expect from Java 9
What to expect from Java 9
 

More from PostgreSQL Experts, Inc.

Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
PostgreSQL Experts, Inc.
 
Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
PostgreSQL Experts, Inc.
 
Fail over fail_back
Fail over fail_backFail over fail_back
Fail over fail_back
PostgreSQL Experts, Inc.
 
PostgreSQL Replication in 10 Minutes - SCALE
PostgreSQL Replication in 10  Minutes - SCALEPostgreSQL Replication in 10  Minutes - SCALE
PostgreSQL Replication in 10 Minutes - SCALE
PostgreSQL Experts, Inc.
 
HowTo DR
HowTo DRHowTo DR
Give A Great Tech Talk 2013
Give A Great Tech Talk 2013Give A Great Tech Talk 2013
Give A Great Tech Talk 2013
PostgreSQL Experts, Inc.
 
Pg py-and-squid-pypgday
Pg py-and-squid-pypgdayPg py-and-squid-pypgday
Pg py-and-squid-pypgday
PostgreSQL Experts, Inc.
 
7 Ways To Crash Postgres
7 Ways To Crash Postgres7 Ways To Crash Postgres
7 Ways To Crash Postgres
PostgreSQL Experts, Inc.
 

More from PostgreSQL Experts, Inc. (20)

Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
 
Fail over fail_back
Fail over fail_backFail over fail_back
Fail over fail_back
 
PostgreSQL Replication in 10 Minutes - SCALE
PostgreSQL Replication in 10  Minutes - SCALEPostgreSQL Replication in 10  Minutes - SCALE
PostgreSQL Replication in 10 Minutes - SCALE
 
HowTo DR
HowTo DRHowTo DR
HowTo DR
 
Give A Great Tech Talk 2013
Give A Great Tech Talk 2013Give A Great Tech Talk 2013
Give A Great Tech Talk 2013
 
Pg py-and-squid-pypgday
Pg py-and-squid-pypgdayPg py-and-squid-pypgday
Pg py-and-squid-pypgday
 
92 grand prix_2013
92 grand prix_201392 grand prix_2013
92 grand prix_2013
 
Five steps perform_2013
Five steps perform_2013Five steps perform_2013
Five steps perform_2013
 
7 Ways To Crash Postgres
7 Ways To Crash Postgres7 Ways To Crash Postgres
7 Ways To Crash Postgres
 
PWNage: Producing a newsletter with Perl
PWNage: Producing a newsletter with PerlPWNage: Producing a newsletter with Perl
PWNage: Producing a newsletter with Perl
 
10 Ways to Destroy Your Community
10 Ways to Destroy Your Community10 Ways to Destroy Your Community
10 Ways to Destroy Your Community
 
Open Source Press Relations
Open Source Press RelationsOpen Source Press Relations
Open Source Press Relations
 
5 (more) Ways To Destroy Your Community
5 (more) Ways To Destroy Your Community5 (more) Ways To Destroy Your Community
5 (more) Ways To Destroy Your Community
 
Preventing Community (from Linux Collab)
Preventing Community (from Linux Collab)Preventing Community (from Linux Collab)
Preventing Community (from Linux Collab)
 
Development of 8.3 In India
Development of 8.3 In IndiaDevelopment of 8.3 In India
Development of 8.3 In India
 
PostgreSQL and MySQL
PostgreSQL and MySQLPostgreSQL and MySQL
PostgreSQL and MySQL
 
50 Ways To Love Your Project
50 Ways To Love Your Project50 Ways To Love Your Project
50 Ways To Love Your Project
 
8.4 Upcoming Features
8.4 Upcoming Features 8.4 Upcoming Features
8.4 Upcoming Features
 
Writeable CTEs: The Next Big Thing
Writeable CTEs: The Next Big ThingWriteable CTEs: The Next Big Thing
Writeable CTEs: The Next Big Thing
 

Recently uploaded

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

PostgreSQL Development Today: 9.0

  • 1. PostgreSQL Development TODAY Josh Berkus PostgreSQL Experts Inc. LCA2010
  • 2. BREAKING NEWS: January 15, 2010 ... PostgreSQL 9.0 Enters Final Commitfest ... “many landmark features planned”, says developer ...
  • 4. ... landmark features ... Hot standby ... synchronous replication ... exclusion constraints ... JSON/XML EXPLAIN output ... Windows 64-bit ... writeable CTEs* ... permissions enhancements ...GRANT ON ALL/DEFAULT ... SQL enhancements ... Ordered aggregates ... DO () statement ... performance improvements ... PL/Perl enhancements ... PL/Python enhancements ... new LISTEN/NOTIFY* * = not committed yet
  • 5. ... landmark features ... Hot standby ... synchronous replication ... exclusion constraints ... JSON/XML EXPLAIN output ... Windows 64-bit ... writeable CTEs* ... permissions enhancements ...GRANT ON ALL/DEFAULT ... SQL enhancements ... Ordered aggregates ... DO () statement ... performance improvements ... PL/Perl enhancements ... PL/Python enhancements ... new LISTEN/NOTIFY* * = not committed yet
  • 9.
  • 10. new review 1. review patches faster 2. review patches sooner 3. review every patch 4. train new reviewers
  • 11. 8.5 (9.0) RC and Branch July 1 2009 Development Period CommitFest 1 July 15 2009 Development Period August 15 2009 CommitFest 2 September 15 2009 Development Period October 15 2009 CommitFest 3 November 15 2009 Development Period December 15 2009 CommitFest 4 January 15 2010 Cleanup February 15 2010 Integration & Review (2-4 weeks) Beta Beta Testing (2-3 months) 9.1 RC and Branch June-July, 2010
  • 12. … back to hot standby
  • 16. 8.0: Point-In-Time Recovery (PITR) 10 minutes to hours
  • 19. 8.3: Warm Standby seconds to minutes
  • 22. 8.3 Ghost XID writ e 19 34 521 read 345 321 451 29/2 1 10 01
  • 28.
  • 29. different problems 1. Zero data loss 2. Seconds of downtime (or less) 3. Single-node performance 4. Scalability: not important
  • 33. after 18 months: “streaming replication” walreciever
  • 34. after 18 months: “streaming replication” walsender walreciever
  • 36. ?
  • 38. Many Patches == Lots of Testing ● Bug Testing – can you make 9.0 crash? ● Specif cation Testing i – do the features do what the docs say they do? ● Performance Testing – is 9.0 really faster? How much? ● Combinational Testing – what happens when you put several new features together?
  • 39. Many Patches == Lots of Testing 1. Take a copy of your production applications 2. Port them to 9.0 3. Report breakage and issues 4. Play with implementing new features Do It Now! We're counting on you!
  • 40. Why contribute? ● PostgreSQL is a community project – owned by the community, run by the community – if you contribute, you are a full participant ● Tinker with cool database stuff – we are hard-core database geeks – learn a lot from top database hackers ● Improve your employment prospects – database engineers are always in demand
  • 41. Mailing Lists ● Hackers list – pgsql-hackers – main list for development discussion – submit patches here until we move off CVS ● Testers list – pgsql-testers – submit test reports here ● Specif c feature lists i – pgsql-jdbc, pgsql-performance, pgsql-sql, etc. – subscribe at www.postgresql.org/community/lists
  • 42. Web Sites ● www.postgresql.org – main site ● git.pgfoundry.org – branches, feature forks, snapshots ● wiki.postgresql.org – community wiki, including TODO lists – feature specs & testing info ● archives.postgresql.org – mailing list archives -- search for your idea here
  • 43. Documentation ● www.postgresql.org/docs – main documentation – internals:/docs/current/static/internals.html – code conventions: /docs/current/static/source.html ● doxygen.postgresql.org – annotated source code ● www.postgresql.org/docs/faqs.FAQ_DEV.html – developer FAQ
  • 44. Tips on submitting code ● Don't get discouraged. – Be prepared to argue. – One hacker rejecting your idea doesn't mean everyone does. – Committers (esp. Tom Lane) are often more concerned about maintainability than cool stuff. ● Be f exible: you will have to make changes. l – Corporate and academic coding standards are generally lower than the project's.
  • 45. Other tips on submitting ● Don't use the wrong arguments – “MySQL/Oracle does it this way.” – “Based on this hot academic trend.” ● Some things make a patch harder to accept – New syntax – Backwards compatibility issues – High code counts ● Don't get discouraged.
  • 46. Also: switching to git ● 9.0 was developed with both CVS and git ● Probably just git in the future
  • 47. Contact Information ● Josh Berkus ● Upcoming Events: – josh@postgresql.org – PG East: March, – blogs.ittoolbox.com/ Philadelphia database/soup – pgCon: May 19, – www.pgexperts.com Ottawa Canada CfP Open! ● User Groups – OSCON: July, – pugs.postgresql.org Portland OR – Wellington CfP Open! – Sydney – Adelaide – Canberra This talk is copyright 2010 Josh Berkus, and is licensed under the creative commons attribution license