GSoC/GCI Archive
Google Summer of Code 2011

PostgreSQL Global Development Group

Web Page:

Mailing List:

PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. PostgreSQL boasts sophisticated features such as Multi-Version Concurrency Control (MVCC), point in time recovery, tablespaces, asynchronous replication, nested transactions (savepoints), online/hot backups, a sophisticated query planner/optimizer, and write ahead logging for fault tolerance. It supports international character sets, multibyte character encodings, Unicode, and it is locale-aware for sorting, case-sensitivity, and formatting. It is highly scalable both in the sheer quantity of data it can manage and in the number of concurrent users it can accommodate.


  • Caching query results in pgpool-II Pgpool-II has query caching functionality using storage provided by dedicated PostgreSQL ("system database"). This has several drawbacks however. 1)it is slow because it needs to access disk storage. 2)it does not invalidate the cache automatically. This proposal tries to solve these problems.
  • Development of improvements in pgAdmin physical database designer module Main idea of this project is the development of improvements in pgAdmin physical database designer module created by me at GSoC 2010 by using their source code as a starting point for another iteration(s) of development that will print a new life at physical database designer source code making it commitable and improve their usability by adding new needed features that allows its routine use in the PostgreSQL community.
  • Enhancing Foreign-data Wrapper (FDW) functionality for PostgreSQL PostgreSQL foreign-data wrapper (FDW) functionality is still very rudimentary: there is no support for parsing complex quals and joined query is not supported by current version of FDW API. My plan for this year's GSoC is to firstly implement a CouchDB FDW, followed by developing a generic ODBC FDW for windows and one of the *nix platform (probably on Ubuntu), last but not least to add join pushdown support for FDW API (If time allows).
  • Fast GiST index build Currently GiST index don't have any bulk load functionality. It have to create new index by entry insertion one by one. This makes new index creation relatively slow in comparison with btree and even GIN. I propose to use some R-tree bulk techniques which seems to be applicable to GiST in order to accelerate GiST build.
  • Indexing XML data in PostgreSQL Teodor Sigaev and Oleg Bartunov have implemented ltree module for supporting tree structures and indexes in PostgreSQL. My work will add support for indexing XML data based on theirs code. This should be base module for SQL/XML related ISO norms. It might be used for Xquery or Xpath 2.0 support without LibXML.
  • New phpPgAdmin Plugin Architecture The goal of this project is to create a new Plugin Architecture for the phpPgAdmin and a complete and documented plugin example, to show how to create one.