GSoC 2026
This page is for Google Summer of Code 2026 projects.
IF YOU ARE A CONTRIBUTOR: there is a top-level GSoC page for PostgreSQL here: PostgreSQL General GSoC Page - please read this first before proceeding to contact mentors! Contribution guidelines, channels and communication methods are in this page too. PLEASE make sure you have read everything thoroughly.
Mentors mailing list for proposals: gsoc2026-mentors@lists.postgresql.org
Admins
- Jesper Pedersen <jesperpedersen (dot) db (at) gmail (dot) com>
- Pavlo Golub <pavlo (dot) golub (at) gmail (dot) com>
Mentors
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:
- Pavlo Golub
- Jesper Pedersen
- Mark Wong
Template project <NAME>
Project Description
The project focuses on ...
Skills needed
- Proficiency in ...
- Familiarity with ...
- Experience with ...
- Basic understanding of ...
- PostgreSQL
Difficulty level
Easy|Moderate|Hard
Project size
Small: approximately ~90 hours of work. Medium: approximately ~175 hours of work. Large: approximately ~350 hours of work.
Mentors
- Mike Johnson
- Tomas Kacka
Expected outcomes
- A refined set of ...
- Updated and polished ...
- Enhanced ...
- Documentation outlining ...
- Tests covering ...
References
Test Development in C/C++: Implementing event-driven concurrency in OLTP test tool (dbt5)
Project Description
This project is a learning exercise in developing event-driven code by converting a thread-based concurrency model in a C++ application to use an event-driven model. DBT-5 is the application that is an open source implementation of the TPC Benchmark(TM) E Specification. This specification is an OLTP workload modeling a brokerage house. DBT-5 is currently using a thread (pthreads) based model in several programs and we want to convert that to a concurrency model that has shown itself to be significantly less resource intensive.
The general outline of the project, which can be adapted depending on the contributor's skill level:
- Learn how to program a simple event-driven program using libev
- Learn how to use DBT-5 to run a small scale test against PostgreSQL
- Replace the threaded model in the DBT-5, one program at a time
Skills needed
- C and C++
Difficulty level
Moderate
Project size
Long (350 hours)
Mentors
- Mark Wong <markwkm (at) gmail (dot) com>
Expected outcomes
- Successful and working event-driven code.
References
- DBT-5 code: https://github.com/osdldbt/dbt5
- libev homepage: https://software.schmorp.de/pkg/libev.html
- Code example of using libev to convert DBT-2 (another OLTP test kit): https://github.com/osdldbt/dbt2/commit/0e6214381867dd608221a2ec30b37e560115d4e3
- TPC Benchmark(TM) E Specification, DBT-5 implements this: https://www.tpc.org/tpce/
Adding features to the Julia Procedural Language: pl/julia
Project Description
This project is a learning exercise in how procedural languages get implemented. pl/Julia allows stored procedures and user defined functions to be created using the Julia programming language. pl/Julia currently supports:
- Triggers functions
- Event triggers
- Anonymous code blocks
- Directly access the database
- Some, but not all, PostgreSQL data types
The general outline of the project, which can be adapted depending on the contributor's area of interests:
- Updating pl/Julia to build and with the current version of Julia's C API's
- Support additional datatypes:
- DateTime / Time / Timestamp
- bytea
- Handle arrays passed as IN parameters
- Additional suggestions by contributor allowed here
Skills needed
- C
- Julia may be helpful
Difficulty level
Intermediate
Project size
Long (350 hours)
Mentors
- Mark Wong <markwkm (at) gmail (dot) com>
Expected outcomes
- Successful and working extension.
References
- pl/Julia project page: https://github.com/pljulia/pljulia
- Previous pl/Julia status report
- Julia language homepage: https://julialang.org/
- Julia documentation for embedding in C: https://docs.julialang.org/en/v1/manual/embedding/