SlideShare a Scribd company logo
How To Contribute to PostgreSQL
Hari Babu Kommi
Your speaker
+61 2 9452 9087
haribabuk@fast.au.fujitsu.com
postgresql.fastware.com
Contents
Need of contribution to the PostgreSQL community
Advantages of contributing to community
Contribution methods
Need of contribution
PostgreSQL is a “world’s most advanced open source database” that powers many
mission critical systems around the world.
It needs support from individuals and companies to continue it’s development
further to compete against major commercial databases.
Advantages of contribution
Contributing to community will benefit both individuals and companies.
All the individuals that contributes to PostgreSQL echo system are listed as
contributors.
 https://www.postgresql.org/community/contributors/
All the companies that contributes to PostgreSQL echo system are listed as
sponsors.
 https://www.postgresql.org/about/sponsors/
Contribution methods
There are plenty of ways to contribute to PostgreSQL
(echo system) and many people are already doing
the same.
This topic is to list out the some of the possible ways
to contribute to PostgreSQL database by individuals
and companies.
Contribution methods
Donation
Participation in Survey
Hardware/Infrastructure support
Web updates/support
Events/Meetup groups
Documentation
Translation support
Answering questions
Build farm support
Bugs
Writing tools/extensions
Writing feature/bug fix patches
Reviewing of Patches
Donation
The Simple way to support PostgreSQL NFO is by
contributing some donation.
The funds that are collected by the PostgreSQL
groups are used for various activities such as
education, user groups and advocacy.
https://www.postgresql.org/about/donate/
Participation in Survey
PostgreSQL usually conducts surveys for every 4 to
6 months.
 https://www.postgresql.org/community/
Why is it so important to participate in survey?
Where the survey results are used and how?
Participation in Survey
The results of the latest survey are available in the
following link:
 https://www.postgresql.org/community/survey/93-what-
postgresql-10-feature-are-you-most-excited-about/
As you observe that, there are less number of
people responded to the survey.
Currently the open survey is not reaching many
users, needs to identify other approaches by the
infrastructure team.
Hardware/Infrastructure support
The servers that power the services of
postgresql.org are provided by different
companies and organisations around the world.
 https://www.postgresql.org/about/servers/
Hardware support can be a test machine or a
performance machine
I listed a Power2 machine sponsored by IBM to
PostgreSQL for performance testing.
 Power2 configuration
 Architecture: ppc64le
Byte Order: Little Endian
CPU(s): 192
On-line CPU(s) list: 0-191
Thread(s) per core: 8
Core(s) per socket: 1
Socket(s): 24
NUMA node(s): 4
Model: IBM,8286-42A
L1d cache: 64K
L1i cache: 32K
L2 cache: 512K
L3 cache: 8192K
NUMA node0 CPU(s): 0-47
NUMA node1 CPU(s): 48-95
NUMA node2 CPU(s): 96-143
NUMA node3 CPU(s): 144-191
Web updates/support
The infrastructure team itself takes care of web
updates/support. Interested people can register with the
following.
 https://lists.postgresql.org/manage/ (pgsql-www)
Currently PostgreSQL website doesn’t scale well on
mobile devices.
There is no proper details/issues that are available
anywhere in the website, so that people can participate in
the development. It needs an improvement from
community to increase the contribution.
Events/Meetup groups
Thanks for the Organizers and Sponsors of the PG Day
Australia event.
Conducting events/local meetups will help in growing
the PostgreSQL community.
Try to conduct monthly/quarterly meetups.
Following are some of the local meetup groups in
Australia.
 https://www.meetup.com/Sydney-PostgreSQL-User-Group/
 https://www.meetup.com/melpug/
 https://www.meetup.com/Brisbane-PostgreSQL-User-Group/
Documentation
PostgreSQL community provides a very high quality
documentation, but there are cases that it may not handle
everything and some information may misleading and etc.
Register to the following mailing list and provide your
updates including the review of the changes suggested
by others.
 https://lists.postgresql.org/manage/ (pgsql-docs)
If you’re a document developer or knows the tools that
are used for the documentation, you valuable information
is welcomed.
Translations support
PostgreSQL programs (server and client) can issue their messages in your
favourite language.
Creating and maintaining translated message sets needs the help of people who
speak their own language well and want to contribute to the PostgreSQL effort.
All the translation issues are tracked in redmine.
 https://redmine.postgresql.org/projects/pgtranslation
There is a dedicated mailing list to discuss the translations updates/issues.
 https://www.postgresql.org/list/pgsql-translators/
Answering questions
Try to answer the simple to complex questions that are
raised by the users not only related to the following,
 Performance
 General discussions
 Administration
 Etc.
PostgreSQL community mailing list is very supportive,
you will receive all the information that you needed.
Build farm support
Build farm is something like PostgreSQL continuous integration environment.
Currently there are extensive set of animals that are present in the build farm, but
still there is a need of some more machines with different set of configurations that
are used by users in the production environment.
If you have some specific hardware/software where you want to PostgreSQL to be
running without fail, it is better add that configuration as a build farm animal if that
doesn’t exist.
Bugs
PostgreSQL community review and it’s extensive build farm
support catches most of the problems, but still there may be
problems that can occur only with production data.
Need your support in validating new features or
performance enhancements with respect to quality and
functionality.
Many people will face problems in sharing the bug details to
the community. Steps to follow for quicker bug fix,
 A reproducible test steps
 If not, try to provide a call stack with debug symbols.
 Or provide a core dump in a shared location.
Bugs
Once all details are captured, raise the bug with the
following bug reporting form.
 https://www.postgresql.org/account/submitbug/
Try to register to the following mailing list to check the
progress of the bug and also the bug patterns, that can help
in further testing.
 https://lists.postgresql.org/manage/ (pgsql-bugs)
Writing tools/extensions
PostgreSQL have many variety of tools and extensions that are useful for many
applications.
Before writing any tool/extension by your own for your needs, please make sure
that the existing are supported the same.
 https://www.postgresql.org/download/product-categories/
Writing an extension is easier than writing a core feature.
Writing feature/bug fix patches
If you found a bug or interested in fixing bugs raised by
others, generate a patch and post it to the mailing list.
Community acts very quickly in fixing any bugs that arise.
Try to clarify the users when they raised a bug, but actually
that is an expected behavior with details.
Writing feature/bug fix patches
 If you found some interesting feature and thought of to be
present in PostgreSQL.
 Find out the use case scenario
 Check for any older discussion on the mailing list
 Post your idea to community.
 Once everyone agrees and come to a common approach,
generate a POC patch.
 Every feature that is submitted to PostgreSQL, has to follow the
review process.
 https://commitfest.postgresql.org/
 Definitely there may be complete rewrite of the patch based on
the feedback.
Reviewing Patches
 PostgreSQL is a community database, it needs support from you not
just only features, but also from reviewing the submitted patches.
 Please make sure that if you submit a patch, make sure that you
reviewed another patch.
 Review can be anything from source code, documentation, test and
etc.
 PostgreSQL community started recognizing the contribution from the
reviewers also by listing their names in the release notes from
version 10.
 In the past, many patches are not received the much feedback from
reviewers especially from actual users of those features.
How to contribute PostgreSQL

More Related Content

Similar to How to contribute PostgreSQL

AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
edm00se
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
Brian Lyttle
 
Manual de instalacion pentaho
Manual de instalacion pentahoManual de instalacion pentaho
Manual de instalacion pentaho
Fernando Velasquez
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
Perrin Harkins
 
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San JoseThe Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
Nikolay Samokhvalov
 
A Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQLA Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQL
EDB
 
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
 
PostgreSQL as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
EDB
 
Sqlmap
SqlmapSqlmap
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Ted Husted
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
Michael Choi
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
Rich Collins
 
How to get_community_support
How to get_community_supportHow to get_community_support
How to get_community_support
ipsitamishra
 
E learning resource Locator Project Report (J2EE)
E learning resource Locator Project Report (J2EE)E learning resource Locator Project Report (J2EE)
E learning resource Locator Project Report (J2EE)
Chiranjeevi Adi
 
How to build your in-house ChatGPT
How to build your in-house ChatGPT How to build your in-house ChatGPT
How to build your in-house ChatGPT
Citynow Asia Inc
 
PostgreSQL 10; Long Awaited Enterprise Solutions
PostgreSQL 10; Long Awaited Enterprise SolutionsPostgreSQL 10; Long Awaited Enterprise Solutions
PostgreSQL 10; Long Awaited Enterprise Solutions
Julyanto SUTANDANG
 

Similar to How to contribute PostgreSQL (20)

50 Ways To Love Your Project
50 Ways To Love Your Project50 Ways To Love Your Project
50 Ways To Love Your Project
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Manual de instalacion pentaho
Manual de instalacion pentahoManual de instalacion pentaho
Manual de instalacion pentaho
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San JoseThe Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
The Art of Database Experiments – PostgresConf Silicon Valley 2018 / San Jose
 
A Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQLA Comparison of EDB Postgres to Self-Supported PostgreSQL
A Comparison of EDB Postgres to Self-Supported PostgreSQL
 
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 as a Strategic Tool
PostgreSQL as a Strategic ToolPostgreSQL as a Strategic Tool
PostgreSQL as a Strategic Tool
 
Sqlmap
SqlmapSqlmap
Sqlmap
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
Ruby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich CollinsRuby on Rails Plugins - Rich Collins
Ruby on Rails Plugins - Rich Collins
 
How to get_community_support
How to get_community_supportHow to get_community_support
How to get_community_support
 
Open Source Press Relations
Open Source Press RelationsOpen Source Press Relations
Open Source Press Relations
 
29.4 mb
29.4 mb29.4 mb
29.4 mb
 
29.4 Mb
29.4 Mb29.4 Mb
29.4 Mb
 
E learning resource Locator Project Report (J2EE)
E learning resource Locator Project Report (J2EE)E learning resource Locator Project Report (J2EE)
E learning resource Locator Project Report (J2EE)
 
How to build your in-house ChatGPT
How to build your in-house ChatGPT How to build your in-house ChatGPT
How to build your in-house ChatGPT
 
PostgreSQL 10; Long Awaited Enterprise Solutions
PostgreSQL 10; Long Awaited Enterprise SolutionsPostgreSQL 10; Long Awaited Enterprise Solutions
PostgreSQL 10; Long Awaited Enterprise Solutions
 

Recently uploaded

2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
Frederic Leger
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
amekonnen
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Rosie Wells
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AwangAniqkmals
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
gharris9
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Dutch Power
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Dutch Power
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
kkirkland2
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
gharris9
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 

Recently uploaded (19)

2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf2024-05-30_meetup_devops_aix-marseille.pdf
2024-05-30_meetup_devops_aix-marseille.pdf
 
Tom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issueTom tresser burning issue.pptx My Burning issue
Tom tresser burning issue.pptx My Burning issue
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie WellsCollapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
Collapsing Narratives: Exploring Non-Linearity • a micro report by Rosie Wells
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
AWANG ANIQKMALBIN AWANG TAJUDIN B22080004 ASSIGNMENT 2 MPU3193 PHILOSOPHY AND...
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
Gregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptxGregory Harris' Civics Presentation.pptx
Gregory Harris' Civics Presentation.pptx
 
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
Presentatie 4. Jochen Cremer - TU Delft 28 mei 2024
 
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
Presentatie 8. Joost van der Linde & Daniel Anderton - Eliq 28 mei 2024
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Burning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdfBurning Issue Presentation By Kenmaryon.pdf
Burning Issue Presentation By Kenmaryon.pdf
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Gregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics PresentationGregory Harris - Cycle 2 - Civics Presentation
Gregory Harris - Cycle 2 - Civics Presentation
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 

How to contribute PostgreSQL

  • 1. How To Contribute to PostgreSQL Hari Babu Kommi
  • 2. Your speaker +61 2 9452 9087 haribabuk@fast.au.fujitsu.com postgresql.fastware.com
  • 3. Contents Need of contribution to the PostgreSQL community Advantages of contributing to community Contribution methods
  • 4. Need of contribution PostgreSQL is a “world’s most advanced open source database” that powers many mission critical systems around the world. It needs support from individuals and companies to continue it’s development further to compete against major commercial databases.
  • 5. Advantages of contribution Contributing to community will benefit both individuals and companies. All the individuals that contributes to PostgreSQL echo system are listed as contributors.  https://www.postgresql.org/community/contributors/ All the companies that contributes to PostgreSQL echo system are listed as sponsors.  https://www.postgresql.org/about/sponsors/
  • 6. Contribution methods There are plenty of ways to contribute to PostgreSQL (echo system) and many people are already doing the same. This topic is to list out the some of the possible ways to contribute to PostgreSQL database by individuals and companies.
  • 7. Contribution methods Donation Participation in Survey Hardware/Infrastructure support Web updates/support Events/Meetup groups Documentation Translation support Answering questions Build farm support Bugs Writing tools/extensions Writing feature/bug fix patches Reviewing of Patches
  • 8. Donation The Simple way to support PostgreSQL NFO is by contributing some donation. The funds that are collected by the PostgreSQL groups are used for various activities such as education, user groups and advocacy. https://www.postgresql.org/about/donate/
  • 9. Participation in Survey PostgreSQL usually conducts surveys for every 4 to 6 months.  https://www.postgresql.org/community/ Why is it so important to participate in survey? Where the survey results are used and how?
  • 10. Participation in Survey The results of the latest survey are available in the following link:  https://www.postgresql.org/community/survey/93-what- postgresql-10-feature-are-you-most-excited-about/ As you observe that, there are less number of people responded to the survey. Currently the open survey is not reaching many users, needs to identify other approaches by the infrastructure team.
  • 11. Hardware/Infrastructure support The servers that power the services of postgresql.org are provided by different companies and organisations around the world.  https://www.postgresql.org/about/servers/ Hardware support can be a test machine or a performance machine I listed a Power2 machine sponsored by IBM to PostgreSQL for performance testing.  Power2 configuration  Architecture: ppc64le Byte Order: Little Endian CPU(s): 192 On-line CPU(s) list: 0-191 Thread(s) per core: 8 Core(s) per socket: 1 Socket(s): 24 NUMA node(s): 4 Model: IBM,8286-42A L1d cache: 64K L1i cache: 32K L2 cache: 512K L3 cache: 8192K NUMA node0 CPU(s): 0-47 NUMA node1 CPU(s): 48-95 NUMA node2 CPU(s): 96-143 NUMA node3 CPU(s): 144-191
  • 12. Web updates/support The infrastructure team itself takes care of web updates/support. Interested people can register with the following.  https://lists.postgresql.org/manage/ (pgsql-www) Currently PostgreSQL website doesn’t scale well on mobile devices. There is no proper details/issues that are available anywhere in the website, so that people can participate in the development. It needs an improvement from community to increase the contribution.
  • 13. Events/Meetup groups Thanks for the Organizers and Sponsors of the PG Day Australia event. Conducting events/local meetups will help in growing the PostgreSQL community. Try to conduct monthly/quarterly meetups. Following are some of the local meetup groups in Australia.  https://www.meetup.com/Sydney-PostgreSQL-User-Group/  https://www.meetup.com/melpug/  https://www.meetup.com/Brisbane-PostgreSQL-User-Group/
  • 14. Documentation PostgreSQL community provides a very high quality documentation, but there are cases that it may not handle everything and some information may misleading and etc. Register to the following mailing list and provide your updates including the review of the changes suggested by others.  https://lists.postgresql.org/manage/ (pgsql-docs) If you’re a document developer or knows the tools that are used for the documentation, you valuable information is welcomed.
  • 15. Translations support PostgreSQL programs (server and client) can issue their messages in your favourite language. Creating and maintaining translated message sets needs the help of people who speak their own language well and want to contribute to the PostgreSQL effort. All the translation issues are tracked in redmine.  https://redmine.postgresql.org/projects/pgtranslation There is a dedicated mailing list to discuss the translations updates/issues.  https://www.postgresql.org/list/pgsql-translators/
  • 16. Answering questions Try to answer the simple to complex questions that are raised by the users not only related to the following,  Performance  General discussions  Administration  Etc. PostgreSQL community mailing list is very supportive, you will receive all the information that you needed.
  • 17. Build farm support Build farm is something like PostgreSQL continuous integration environment. Currently there are extensive set of animals that are present in the build farm, but still there is a need of some more machines with different set of configurations that are used by users in the production environment. If you have some specific hardware/software where you want to PostgreSQL to be running without fail, it is better add that configuration as a build farm animal if that doesn’t exist.
  • 18. Bugs PostgreSQL community review and it’s extensive build farm support catches most of the problems, but still there may be problems that can occur only with production data. Need your support in validating new features or performance enhancements with respect to quality and functionality. Many people will face problems in sharing the bug details to the community. Steps to follow for quicker bug fix,  A reproducible test steps  If not, try to provide a call stack with debug symbols.  Or provide a core dump in a shared location.
  • 19. Bugs Once all details are captured, raise the bug with the following bug reporting form.  https://www.postgresql.org/account/submitbug/ Try to register to the following mailing list to check the progress of the bug and also the bug patterns, that can help in further testing.  https://lists.postgresql.org/manage/ (pgsql-bugs)
  • 20. Writing tools/extensions PostgreSQL have many variety of tools and extensions that are useful for many applications. Before writing any tool/extension by your own for your needs, please make sure that the existing are supported the same.  https://www.postgresql.org/download/product-categories/ Writing an extension is easier than writing a core feature.
  • 21. Writing feature/bug fix patches If you found a bug or interested in fixing bugs raised by others, generate a patch and post it to the mailing list. Community acts very quickly in fixing any bugs that arise. Try to clarify the users when they raised a bug, but actually that is an expected behavior with details.
  • 22. Writing feature/bug fix patches  If you found some interesting feature and thought of to be present in PostgreSQL.  Find out the use case scenario  Check for any older discussion on the mailing list  Post your idea to community.  Once everyone agrees and come to a common approach, generate a POC patch.  Every feature that is submitted to PostgreSQL, has to follow the review process.  https://commitfest.postgresql.org/  Definitely there may be complete rewrite of the patch based on the feedback.
  • 23. Reviewing Patches  PostgreSQL is a community database, it needs support from you not just only features, but also from reviewing the submitted patches.  Please make sure that if you submit a patch, make sure that you reviewed another patch.  Review can be anything from source code, documentation, test and etc.  PostgreSQL community started recognizing the contribution from the reviewers also by listing their names in the release notes from version 10.  In the past, many patches are not received the much feedback from reviewers especially from actual users of those features.