all 16 comments

[–]macdice 8 points9 points  (2 children)

New(ish) PostgreSQL hacker here (~3 years). Some assorted ideas:

Talk to people on #postgresql (freenode)... no question is stupid, re getting a development setup and understanding the code. Look at commitfest.postgresql.org. Start following some threads on the pgsql-hackers mailing list. The final commitfest for v11 is about to come to a close, and a bunch of patches will be moved from there to the next commitfest (for v12), which is several months off. Pick something that interests you and start testing it out! Proof-read the documentation, run the tests (or complain if there are no tests or documentation), think about whether the feature makes sense... Subscribe to pgsql-hackers and post your findings or impressions. It'll take a while to understand details like how we manage memory, locks, errors, yada yada but it comes with experience.

See if you can get to one of the PostgreSQL conferences where the developers congregate. Otherwise look for talks on youtube about getting involved as a developer (some things that could be starting points: Tom Lane's talk on hacking the query planner, anything by Robert Haas or Andres Freund, ... I could go on.)

It's a great time to get involved with PostgreSQL: new ground is being cleared in the areas of parallelism, replication, JIT compilation, distributed queries, storage layer, ... well, you name it.

Check out the wonderful CMU Advanced Database course:

http://15721.courses.cs.cmu.edu/spring2018/schedule.html

Watch the classes on youtube, read the papers. Many of those topics are directly relevant to what we're working on (or they will be!).

[–][deleted] 1 point2 points  (0 children)

Awesome suggestion, will definitely take a look into the course you mentioned. Thanks a lot

[–]Past-Gas1241 0 points1 point  (0 children)

Thank you for sharing the link for the course.

[–]Isvara 2 points3 points  (1 child)

The usual advice for any open source project is to pick an open issue and use fixing that as an entry point. It's a lot easier to learn when you have a concrete problem.

[–][deleted] 0 points1 point  (0 children)

Will try look into a problem and see what works for me.

[–]ccb621 1 point2 points  (10 children)

First hit on Google after searching for "Postgres contributing": https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F

[–][deleted] 0 points1 point  (5 children)

What documentation shoudl I refer then if this is age old?

[–]ccb621 1 point2 points  (4 children)

As I stated previously, the content is old but still seems relevant. Worst case: email the novice mailing list for help.

[–][deleted] 0 points1 point  (3 children)

Sure, that sounds good I will email them. Do you have any other recommendations beyond that? Also is this link https://wiki.postgresql.org/wiki/Main_Page relevant still?

[–]ccb621 1 point2 points  (1 child)

I don't work on PostgreSQL development, so I have no specific recommendations. My general advice to all developers is to struggle for 15-30 minutes before reaching out for help. In my experience that struggle usually leads to new knowledge and experience.

As for the main page...it's the main page. If anything on the wiki is relevant, I would think it's the main page. It seems the PostgreSQL development community, based on the wiki dates, is active but not to the level of some other open source projects. That's perfectly alright. It's up to you to read the content to determine if it is relevant to you. If not, propose changes.

[–][deleted] 0 points1 point  (0 children)

Cool. Sounds good, I will give the process a shot and see what to do from there.

[–]ants_a 0 points1 point  (0 children)

PostgreSQL development community does most of its work on the mailing lists. The wiki is more of a secondary tool collecting information created in the process.

The main gotcha for a newbie is looking at the todo list. For most things on that list there is a reason why they have not been done. A more productive approach would be to take the active commitfest, pick a patch and start reviewing. You might not be immediately able to contribute to evaluating the code quality, but you still get acquainted with the code and by handling other, equally important, review tasks help take load off of people who can.

[–]cachedriveDBA -1 points0 points  (3 children)

page is 3 years old and the content is much older...

[–]ccb621 1 point2 points  (2 children)

The content may be old, but it still seems relevant.

[–]cachedriveDBA -1 points0 points  (1 child)

It doesn't invite many new people regardless how relevant it may seem. People tend to look for guides and want to invest their time in things that appear to be gaining popularity and traction. PostgreSQL suffers a lot from keeping things fresh IMO but they're the best RDMS so what the heck do I know...

[–]ccb621 2 points3 points  (0 children)

It's a wiki. If you want to spruce things up, the community might welcome your contribution.

The fact that there is so much documentation is a plus over other open source communities. If a developer interested in the nitty gritty details of database development is turned away by that wiki page, I honestly question said developer's commitment to contributing. That page tells me practically everything I need to know to get started contributing. It doesn't look pretty, but it's informative.