Open Source Contributions to Postgres: The Basics POSETTE 2024
ElizabethGarrettChri
57 views
43 slides
Jun 13, 2024
Slide 1 of 43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
About This Presentation
Postgres is the most advanced open-source database in the world and it's supported by a community, not a single company. So how does this work? How does code actually get into Postgres? I recently had a patch submitted and committed and I want to share what I learned in that process. I’ll give...
Postgres is the most advanced open-source database in the world and it's supported by a community, not a single company. So how does this work? How does code actually get into Postgres? I recently had a patch submitted and committed and I want to share what I learned in that process. I’ll give you an overview of Postgres versions and how the underlying project codebase functions. I’ll also show you the process for submitting a patch and getting that tested and committed.
Size: 28.55 MB
Language: en
Added: Jun 13, 2024
Slides: 43 pages
Slide Content
Hi there!Hi there!
Docs are important
Strengths
Weaknesses
Opportunities
for existing users
for releases
for adoption
incredible reference
manual
accuracy
above bar for open-
source
document new
features that connect
to other features
correct mistakes or
clarifications
lacks tutorials
lacks detailed
examples
architects
PostgresPostgres
needsneeds
lots oflots of
differentdifferent
peoplepeople
developers
dbas
data science
consultants
products
PostgresPostgres
Code BaseCode Base
Let’s review some of the basic processes, like:
Postgres version calendar
Where is the code?
Where do commits go?
How goes it get to end users?
Where is theWhere is the
Postgres code?Postgres code?
Where is theWhere is the
Postgres code?Postgres code?
https://github.com/postgres/postgreshttps://github.com/postgres/postgres
https://git.postgresql.org/https://git.postgresql.org/
git.postgresql.orggit.postgresql.org
is the actual code storeis the actual code store
oonly committers can pushnly committers can push
KeyKey
PostgresPostgres
CodeCode
TeamsTeams
Committers
Core Team
Release
management (RMT)
Patch ideasPatch ideas
What has been a problem for you?
Docs can be a good place to start
https://wiki.postgresql.org/wiki/Todo
Talk to people in Postgres
Potentially lots of discussion
of your ideas
BuildingBuilding
PostgresPostgres
locallylocally
Meson
https://www.postgresql.org/
docs/current/install-
meson.html
Make
https://www.postgresql.org/
docs/current/install-
make.html
> ninja docs
[3/3] Generating doc/src/sgml/html with a custom command
> meson setup build
The Meson build system
Version: 1.2.3
Source dir: /Users/elizabethgarrettchristensen/Documents/GitHub/2/postgres
Build dir: /Users/elizabethgarrettchristensen/Documents/GitHub/2/postgres/build
Build type: native build
Project name: postgresql
Project version: 17devel
> cd build
> brew install docbook-xsl
Postgres mailing lists
https://www.postgresql.org/list/
pgsql-novice
pgsql-general
pgsql-hackers
Beginner type questions
General list
Patch files and code discussions go here
List archives are onlineList archives are online
If you hate mailing lists .......
Every thread has a unique URL
Hackers
https://www.postgresql.org/list/
is a list you can submit to without subscribing to
has reply-all as default, so you’ll get replies about
your PATCH
Note: hackers is not for questions or newbies
PatchPatch
submissionsubmission
1 - Email patch file to Hackers
2 - Add patch to commitfest
CommitfestCommitfest
https://commitfest.postgresql.org/
You can add new patches here so they don’t get
lost
Lists of active patches, authors, reviewers, and committers
Active status and final outcome, rejected,
committed, withdrawn
Code reviewCode review
andand
testingtesting
conventions
/ re
unit testing / regression
really high standards
TipsTips
be prepared for lots of feedback
make this a learning experience
don’t take it personally
be patient