https://wiki.postgresql.org/api.php?action=feedcontributions&user=Fabriziomello&feedformat=atomPostgreSQL wiki - User contributions [en]2024-03-29T12:36:16ZUser contributionsMediaWiki 1.35.13https://wiki.postgresql.org/index.php?title=GSoC_2024&diff=38607GSoC 20242024-01-29T17:19:40Z<p>Fabriziomello: Add Fabrízio as mentor</p>
<hr />
<div> This page is for collecting ideas for Google Summer of Code 2024 projects. This page is for IDEAS ONLY.<br />
<br />
'''IF YOU ARE A CONTRIBUTOR''': there is a top-level GSoC page for PostgreSQL here: [[GSoC|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.<br />
<br />
If you are a mentor and would like to participate, feel free to edit this page and put your name below.<br />
<br />
'''Mentors mailing list for proposals''': gsoc2024-mentors@lists.postgresql.org<br />
<br />
== Proposals ==<br />
<br />
Proposals are still work in progress. If you are a mentor and would like to participate, feel free to edit this page and put your name below. <br />
<br />
== Admins ==<br />
<br />
* Stephen Frost<br />
* Pavlo Golub<br />
<br />
== Mentors ==<br />
<br />
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:<br />
<br />
* Stephen Frost<br />
* Pavlo Golub<br />
* Ahmed Ibrahim<br />
* Andrei Lepikhov<br />
* Dave Cramer<br />
* Mark Wong<br />
* Fabrízio de Royes Mello<br />
<br />
== pgx.Batch support in pgxmock ==<br />
<br />
=== Project Description ===<br />
<br />
pgxmock [https://github.com/pashagolub/pgxmock/] is a mock library implementing pgx [https://github.com/jackc/pgx] - PostgreSQL Driver and Toolkit. It's based on the well-known `sqlmock` library for `sql/driver`.<br />
pgxmock has one and only purpose - to simulate pgx behavior in tests, without needing a real database connection. It helps to maintain correct TDD workflow.<br />
The task is to add support of pgxBatch [https://pkg.go.dev/github.com/jackc/pgx/v5#Batch] into pgxmock<br />
<br />
=== Skills needed ===<br />
<br />
* Go<br />
<br />
=== Difficulty level ===<br />
<br />
Medium<br />
<br />
=== Project size ===<br />
<br />
Medium.<br />
<br />
=== Mentors ===<br />
<br />
* Pavlo Golub. Pavlo Golub is an author and maintainer of the pgxmock library<br />
<br />
=== Expected outcomes ===<br />
<br />
* Working implementation of `pgxmock.ExpectedBatch` covered with tests<br />
<br />
=== References ===<br />
<br />
[1] https://github.com/pashagolub/pgxmock/ <br />
<br />
[2] https://github.com/jackc/pgx <br />
<br />
[3] https://pkg.go.dev/github.com/jackc/pgx/v5#Batch <br />
<br />
== PostgreSQL JDBC Struct/Array Support ==<br />
<br />
=== Project Description ===<br />
<br />
The JDBC API has:<br />
<br />
Struct createStruct(String typeName, Object[] attributes) throws SQLException<br />
<br />
Factory method for creating Struct objects.<br />
Parameters:<br />
typeName - the SQL type name of the SQL structured type that this Struct object maps to. The typeName is the name of a user-defined type that has been defined for this database. It is the value returned by Struct.getSQLTypeName.<br />
attributes - the attributes that populate the returned object<br />
<br />
<br />
Currently pgjdbc does not support this. The goal would be to implement the function <br />
<br />
=== Skills needed ===<br />
<br />
* JAVA<br />
* JDBC<br />
* PostgreSQL<br />
<br />
=== Difficulty level ===<br />
<br />
Moderately hard, depending on proficiency with JAVA coding.<br />
<br />
=== Project size ===<br />
<br />
Medium.<br />
<br />
=== Mentors ===<br />
<br />
* Dave Cramer can mentor. Dave is a major contributor, has experience writing JAVA and JDBC.<br />
<br />
=== Expected outcomes ===<br />
<br />
* Working implementation of createStruct<br />
<br />
==Enhancing the pgweb testing harness==<br />
<br />
=====Project Description=====<br />
pgweb [https://github.com/postgres/pgweb/] is the official repository containing code of the website [http://www.postgresql.org/<br />
]. The infrastructure is deployed and maintained by a team of developers and is currently tested using the pgweb-testing-harness [https://github.com/destrex271/pgweb-testing-harness]. <br />
<br />
The harness requires the following additional features as of now to improve its usability:<br />
* A webpage to view all the failure reports generated by the harness<br />
* Security Tests for the website<br />
* A template system to allow contributors to easily add tests for their patches to the harness<br />
<br />
Other additional features are also welcome!<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* CI/CD pipelines<br />
* Web development and testing<br />
* HTML, CSS, Bootstrap<br />
* Javascript, jQuery<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Project Size=====<br />
<br />
Medium sized project (175 hours).<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
Please do not email us, rather find us on Slack after reading carefully the general GSoC information page higlighted above.<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to develop an easy-to-use interface to view the failure reports. The primary focus for this year will be on implementing the essential features outlined in the Project Description.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgweb<br />
<br />
[2] https://github.com/destrex271/pgweb-testing-harness<br />
<br />
== pg_index_stats==<br />
<br />
<br />
=== Project Description ===<br />
The project is dedicated to more intensive utilization of extended statistics. It can also be a platform for developing and testing additional types of statistics.<br />
At its core, it is a lightweight extension to PostgreSQL. It provides manual and automatic machinery for generating extended statistics based on a definition of indexes.<br />
In most cases, it is impractical to compute multivariate statistics automatically. But our conjecture here is that index structure reflects the pattern of queries in the database: a specific set of columns most frequently used for extracting data and their order; if our assumption is correct, it is critical to build optimal query plans when combinations of these columns are involved.<br />
The first task in this work is compactifying stats: indexes are usually built on intersected sets of columns.<br />
The second one is to make extended stats machinery extensible and implement histograms over a set of columns, likewise the already existing MCV.<br />
<br />
=== Skills needed ===<br />
<br />
* C<br />
* Postgres<br />
* Perl<br />
<br />
=== Difficulty level ===<br />
<br />
easy to hard, depending on the number of tasks.<br />
<br />
=== Project size ===<br />
<br />
Small to Medium <br />
<br />
=== Mentors ===<br />
<br />
* Andrei Lepikhov<br />
<br />
Reach out to lepihov (at) gmail (dot) com for your proposal<br />
<br />
=== References ===<br />
<br />
[1] https://github.com/danolivo/pg_index_stats<br />
<br />
[2] https://www.postgresql.org/<br />
<br />
== pg_track_optimizer ==<br />
<br />
<br />
=== Project Description ===<br />
Detect poorly planned queries.<br />
With the pg_stat_statements extension, the DBA can control the system's performance and detect heavyweight queries by watching execution time, pages fetched, WAL generated, etc. But they can't differentiate between a complex analytic query involving many resources and a poorly planned one. The purpose of this work is to introduce parameters that will show the quality of estimations on which the optimizer bases its decision. The task here is to find such criteria as the delta between predicted and real cardinalities, the number of groups, etc.<br />
The code for gathering and manipulating the parameters should be implemented as an extension that explores each query plan and execution state to find signs of non-optimal optimization.<br />
<br />
=== Skills needed ===<br />
<br />
* C<br />
* Postgres<br />
* Perl<br />
<br />
=== Difficulty level ===<br />
<br />
Medium<br />
<br />
=== Project size ===<br />
<br />
Medium <br />
<br />
=== Mentors ===<br />
<br />
* Andrei Lepikhov<br />
<br />
Reach out to lepihov (at) gmail (dot) com for your proposal<br />
<br />
=== References ===<br />
<br />
[1] https://github.com/danolivo/pg_track_optimizer<br />
<br />
[2] https://www.postgresql.org/<br />
<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2021&diff=35781GSoC 20212021-03-14T03:49:51Z<p>Fabriziomello: /* Potential Mentors */</p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
Note that there is a top-level GSoC page for PostgreSQL here: [[GSoC|PostgreSQL General GSoC Page]]<br />
<br />
== Regarding Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
'''NOTE:''' Google wants each idea to be supported by a few sentences and then a list of skills/reqs, difficulty level, potential mentors, expected outcomes, etc. Please add sections in this format.<br />
<br />
== Mentors (2021) ==<br />
<br />
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:<br />
<br />
* Stephen Frost<br />
* David Steele<br />
* Andreas Scherbaum<br />
* Mark Wong<br />
* Ilaria Battiston<br />
* Andrey Borodin<br />
* Jesper Pedersen<br />
* Mark Rofail<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello<br />
<br />
----<br />
<br />
==Improve PostgreSQL Regression Test Coverage (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The current regression test coverage for PostgreSQL isn't great, to the point where some areas of the code are covered only at single-digit-percent levels.<br />
<br />
Having good regression tests for such an important project as PostgreSQL is really key to minimizing the chance that any regressions are introduced. While this might seem like a small project, it isn't, particularly when it comes to PostgreSQL. PostgreSQL is over 1.3M lines of code and some of the code paths can be tricky to reach.<br />
<br />
The current regression test coverage can be see here: https://coverage.postgresql.org<br />
<br />
PostgreSQL's build system includes a "make coverage-html" to generate the report.<br />
<br />
Please note that this project involves writing SQL code and Perl code, at a minimum, to implement the tests necessary to increase the code coverage of the PostgreSQL regression tests. There is a lot of opportunity for improvement here as PostgreSQL is currently at only about 73% LOC coverage.<br />
<br />
=====Skills needed=====<br />
* Perl, as many PostgreSQL regression tests are written using the Perl TAP system and new ones will likely need to be.<br />
* SQL, to craft tests that hit certain code paths<br />
* Ability to read C code enough to work through a way to get a particular line or lines of code tested.<br />
<br />
=====Difficulty Level=====<br />
<br />
For someone with the skills listed, even at a relatively beginner level, should make this a very straight-forward if tedious project.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost can mentor. Stephen is a major contributor and committer and has been working on improving regression tests in PG for quite a while.<br />
* Andreas Scherbaum<br />
* Mark Rofail, former GSoC student.<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Significantly improved code coverage for the PostgreSQL regression test suite, ie: 73% -> 80%.<br />
<br />
----<br />
<br />
==Develop Performance Farm Benchmarks and Website (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The PostgreSQL Performance Farm project is a community project to collect and review performance data from tests as code changes are made to PostgreSQL, working on Linux and OSX. The infrastructure uses a Django API and a Python script to run benchmarks and collect analytics data from PostgreSQL instances and hosts. Right now, the infrastructure is functional but some improvements would be beneficial, especially for better portability on the PostgreSQL server. Specifically, these are some features which could be implemented:<br />
* Integration of collectd and pg_stat_statement data<br />
* Creation of an admin panel accessible through the website<br />
* General GUI improvements<br />
* Eventual migration from Vue.js to vanilla Javascript<br />
* Removal of dependencies<br />
This list can eventually be subject to changes, and is open to students' suggestions. Current code is at: https://git.postgresql.org/gitweb/?p=pgperffarm.git;a=summary. Mentors are either past developers or past GSoC mentors for the same project.<br />
<br />
As an example, the PostgreSQL Build Farm site [1] is a central repository for the results of testing source code changes for PostgreSQL as they occur, on a wide variety of platforms.<br />
<br />
=====Skills needed=====<br />
<br />
* Python programming (both scripting and Django)<br />
* Web development (Javascript, Vue.js)<br />
* Understanding of PostgreSQL benchmarks and website infrastructure<br />
<br />
=====Difficulty Level=====<br />
<br />
This project should not be particularly challenging having basic full-stack development skills.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* Ilaria Battiston<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* A functional Web site where clients can upload test results which can be hosted on PostgreSQL infrastructure and users can search and review uploaded results.<br />
<br />
=====References=====<br />
<br />
[1] https://buildfarm.postgresql.org/<br />
<br />
----<br />
==Improve pgeu-system for Conference Management (2021)==<br />
<br />
=====Project Description=====<br />
pg-eu system is an infrastructure used by Postgres for managing non-profit organizations along with an extensive conference management system. It contains features such as invoices, administration of conferences, memberships and elections, along with social media integration. There are some improvements which could be made to the system, which are being proposed in the form of GitHub issues [1], such as adding HTML emails and adding a generalised form.<br />
<br />
Specific sub-projects which we would like to see a student propose to work on:<br />
<br />
* Add support for sending emails with HTML. Students interested in this would do well to review how the pgweb [2] system supports sending HTML emails in the News system. [3] Github issue for this. [4]<br />
* Add support for multiple vote tallying methodologies. There is currently one built-in method of voting but we would like to see that extended, in particular adding support for STV [6]. The github issue for this [5]<br />
* Generalized form capability. This task is definitely larger than the others included and a full proposal for this item by itself could be a GSoC project, depending on the student's skill. The idea is to have a generalized form-building capability which administrators could use to craft surveys to send to members and others. There is some support already for this in the conference system but we'd like to generalize it and make it available outside of the conference part of the system. Github issue for this [7]<br />
* Other projects could be suggested by a student based on the github issues list.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to go through the list of issues, and work on at least a few of them, especially the major ones.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/pgeu/pgeu-system/issues<br />
[2] https://git.postgresql.org/gitweb/?p=pgweb.git;a=summary<br />
[3] https://git.postgresql.org/gitweb/?p=pgweb.git;a=tree;f=pgweb/news;h=6fd47283f0e39dfe6c7b31fded55ff79ae521767;hb=HEAD<br />
[4] https://github.com/pgeu/pgeu-system/issues/53<br />
[5] https://github.com/pgeu/pgeu-system/issues/54<br />
[6] https://github.com/RhodiumToad/sql_stv<br />
[7] https://github.com/pgeu/pgeu-system/issues/52<br />
<br />
----<br />
==Creating a pgweb testing harness (2021)==<br />
<br />
=====Project Description=====<br />
pgweb [1] is the official repository containing code of the website [http://www.postgresql.org/<br />
]. The infrastructure is deployed and maintained by a team of developers, however lacks of a testing suite to check for a correct functioning after each modification. The team could benefit of a framework to be integrated in the current CI pipeline, to support both tests for the current code and the addition of new tests for any upcoming new code.<br />
<br />
What to be tested specifically is to be defined and will be part of the GSoC project, but there are some desired features:<br />
* automatic testing of existing code:<br />
** proper functionality of links, forms, cookies<br />
** browser compatibility and performance<br />
** accessibility<br />
** integration tests<br />
* possibility to easily implement new tests<br />
* other things can be suggested by students<br />
<br />
The testing suite should be a standalone module, to eventually be integrated in CI pipeline after development. Since the web framework of pgweb is in Django and Python, these would be the preferred tools. Furthermore, a student should know a bit of web development and testing to be able to properly define requirements and implement them.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* CI/CD pipelines<br />
* Web development and testing<br />
* HTML, CSS, Bootstrap<br />
* Javascript, jQuery<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to define a set of features and requirements to test, to then implement these tests and be able to run them for the existing codebase, automatically notifying errors on a periodic basis.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgweb<br />
<br />
----<br />
==Improve pgarchives (2021)==<br />
<br />
=====Project Description=====<br />
pgarchives [1] is the official archive of Postgres mailing lists. Users are able to access the interface from the website [2] and browse it, searching according to mailing list, keywords and date. Nevertheless, archives are not quite user friendly and lack some potentially useful functionalities. <br />
<br />
Ideally, pgarchives should allow users to interact with mailing lists directly from its webpage, without recurring to external clients or websites. This could be implemented through a form, but it also needs to be supported by backend code, providing the necessary checks of credentials and permissions.<br />
<br />
Furthermore, the graphical interface could benefit of some changes, in particular its search results page. There are some threads in the pgweb mailing lists stating desired improvements, which include:<br />
* better pagination<br />
* search results focussed on entire threads, rather than single separate emails<br />
* mobile-friendly results<br />
* general GUI restyling<br />
<br />
Code is written in Python, with a Django API and some HTML/CSS on top. <br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to improve search functionality, user interface usability and integrate mailing list interaction through the website.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgarchives<br />
[2] https://www.postgresql.org/list/<br />
----<br />
<br />
==pgBackRest port to Windows (2021)==<br />
<br />
=====Project Description=====<br />
<br />
This project would aim to port pgBackRest, which is now fully written in C, over to Windows. This will require some changes in how pgBackRest operates. The necessary changes for running pgBackRest on Windows have been contemplated during the architecture and design of pgBackRest and therefore should be reasonably straight-forward to implement.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Working in a Windows development environment<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* David Steele<br />
<br />
=====Expected Outcomes=====<br />
<br />
* pgBackRest able to be built and run on Windows.<br />
<br />
=====References=====<br />
<br />
[1] https://www.pgbackrest.org/<br />
<br />
[2] https://github.com/pgbackrest<br />
<br />
----<br />
<br />
==Add functionality to pg_top and supporting tools (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pg_top (https://pg_top.gitlab.io/) is 'top' for PostgreSQL. It is a terminal based monitoring tool specifically for PostgreSQL. There are companion tools such as pg_systat (https://pg_systat.gitlab.io/) and pg_proctab (https://pg_proctab.gitlab.io/) that help monitor database statistics and enable monitoring of remote databases. pg_systat focuses more on database statistics and general system statistics as opposed to individual processes. pg_proctab is a PostgreSQL extension that exposes operating system statistics through user defined functions.<br />
<br />
This is a list of some functionality enhancements that could improve these tools (additional suggestions welcome):<br />
<br />
* Add monitoring of pg_stat_statements (https://www.postgresql.org/docs/current/pgstatstatements.html) to pg_systat.<br />
* Add ability to monitor remote systems with pg_systat, which may need supporting functionality added to pg_proctab.<br />
* Add additional i/o stats to pg_systat's monitoring of table spaces.<br />
* Update pg_top to work on current releases of MacOS<br />
* Port pg_proctab to work on FreeBSD<br />
* Rewrite pg_top in rust.<br />
* Rewrite pg_systat in rust.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* SQL<br />
* PostgreSQL<br />
* Rust (only for porting tasks)<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project needs familiarity with C programming. Understanding SQL is a plus but can be learned during the project as its use is limited.<br />
<br />
Some functionality involves learning about operating systems such as the process table and how system statistics are reported.<br />
<br />
Some PostgreSQL administration skills are needed for creating a database in order to tests these tools.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
There are many tasks and it may not be possible to complete all of them within a single summer. A plan is expected for which tasks to be attempted.<br />
<br />
=====References=====<br />
<br />
[1] pg_top presetnation: https://www.slideshare.net/markwkm/pgtop-is-top-for-postgresql-pgtop-pgproctab-presentation<br />
<br />
[2] pg_proctab presentation: https://www.slideshare.net/markwkm/pgproctab-accessing-system-stats-in-postgresql-3573304<br />
<br />
[3] pg_systat presentatin: https://postgresql.us/events/pgopen2019/sessions/session/622/slides/48/terminal-tools.pdf<br />
<br />
----<br />
<br />
==Create procedural language extension for the Julia programming language (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pl/julia is the start of an extension to support the Julia programming language in PostgreSQL. While currently functional it has minimal support for writing user defined functions so additional functionality is needed to make the extension more useful.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
* Support input parameters as arrays<br />
* Cache procedural language code instead of looking it up every time<br />
<br />
Some of the tasks here may overlap and can also be implemented with plsample (see plsample idea on this wiki).<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Julia<br />
* SQL<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming and knowledge on how to generate Julia code. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end.<br />
<br />
=====References=====<br />
<br />
[1] Julia programming language: https://julialang.org/<br />
<br />
[2] pl/julia code: https://gitlab.com/pljulia/pljulia<br />
<br />
[3] Blog (1 of 5) about pl/julia extension: <br />
https://www.2ndquadrant.com/en/blog/creating-a-postgresql-procedural-language-part-1-setup/<br />
<br />
----<br />
<br />
==Make plsample a more complete procedural language handler example (2021)==<br />
<br />
=====Project Description=====<br />
<br />
plsample is a sample procedural language example in the PostgreSQL source code. It is intended to serve at least two purposes: to provide a template for others to build their own procedural language handler, and to help test the PostgreSQL code.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end. There may be some overlap with improving pl/julia.<br />
<br />
=====References=====<br />
<br />
[1] src/test/modules/plsample: See at https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/test/modules/plsample;h=ca0363ef94d3ff0c305df3340b43014a08b23118;hb=HEAD or https://github.com/postgres/postgres/tree/master/src/test/modules/plsample<br />
<br />
<br />
==WAL-G: optimize full backups using object-storage remote-copy APIs(2021)==<br />
<br />
=====Project Description=====<br />
Certain cloud providers have object-storage remote copy support, where a bucket object can be copied from one bucket-key to another without any bits actually moving around (basically like a clone or hard-link, done within the object store.)<br />
<br />
wal-g backup-push could be extended (for these object-storage providers) to create full backups based on previous full or incremental backups, by:<br />
<br />
* finding the set of changed files from the base, as if an incremental backup were being created<br />
* for any file that exists unchanged in the base, use a remote-copy to clone it from the old bucket-key to the new bucket-key<br />
* for any file that has changed, upload it as normal<br />
<br />
=====Skills needed=====<br />
<br />
* Go<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project require Go programming. Some knowledge of PostgreSQL administration is needed to setup backups with PITR.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Daniil Zakhlystov<br />
* Andrey Borodin<br />
<br />
=====Expected Outcomes=====<br />
<br />
Faster full backups where databases have a lot of static files.<br />
<br />
----<br />
<br />
==pgagroal: Metrics and monitoring (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to enhance the current collected metrics by adding new data points that provides a deeper insight to the traffic flow<br />
through the connection pool.<br />
<br />
To provide a better out-of-the-box experience for end-users a sample Grafana dashboard should be created that provides all key metrics<br />
in an easy to understand way.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Investigate and analyze possible data points<br />
* Create configuration property for gatering these new metrics<br />
* Expose new metrics in the Prometheus interface<br />
* Create Grafana dashboards<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Prometheus<br />
* Grafana<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills to enhance metrics gathering and exposure through the Prometheus interface.<br />
<br />
Any candidate should also be able to work with a Grafana setup in order to create the dashboards.<br />
<br />
This work will require some knowledge of the PostgreSQL protocol as well as basic administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Improve the metrics gathered, if enabled, and expose them through the Prometheus interface.<br />
* Create a sample Grafana dashboard that exposes these metrics.<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/prometheus.c<br />
<br />
[4] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/pipeline_session.c<br />
<br />
[5] https://prometheus.io/<br />
<br />
[6] https://grafana.com/oss/<br />
<br />
----<br />
<br />
==pgagroal: SCRAM-SHA-256-PLUS support (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to add SCRAM-SHA-256-PLUS support in order to enhance security when communicating with the connection pool.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Study the relevant specifications<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Transport Layer Security<br />
* OpenSSL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills, knowledge about Transport Layer Security (TLS) and the OpenSSL API.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/security.c<br />
<br />
[4] https://tools.ietf.org/html/rfc5802<br />
<br />
[5] https://tools.ietf.org/html/rfc7677<br />
<br />
[6] https://tools.ietf.org/html/rfc5246<br />
<br />
[7] https://www.openssl.org/<br />
<br />
----<br />
<br />
==Database Load Stress Benchmark==<br />
<br />
=====Project Description=====<br />
<br />
This project involves developing a new benchmarking stress tool for testing PostgreSQL's durability and resilience.<br />
<br />
The Touchstone project provides C and Rust code for generating random data such as strings, numbers and dates. Other data types could be useful such as arrays and JSON to just name a couple more examples of data types that PostgreSQL supports. Scripts need to be developed to load a database, add additional load with queries, updates, creating indexes, and other maintenance operations to make sure PostgreSQL can survive extremes loads.<br />
<br />
=====Skills needed=====<br />
<br />
* C or Rust<br />
* PostgreSQL<br />
* Shell scripting<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C or Rust programming skills, and shell scripting.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement a test that will load PostgreSQL with random data.<br />
* Benchmark the data loading for different data sizes and data types.<br />
* Create a comparable test scenario for I/O performance measurements.<br />
<br />
=====References=====<br />
<br />
[1] https://gitlab.com/touchstone/touchstone<br />
<br />
<br />
<br />
----<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2021&diff=35780GSoC 20212021-03-14T03:49:36Z<p>Fabriziomello: /* Potential Mentors */</p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
Note that there is a top-level GSoC page for PostgreSQL here: [[GSoC|PostgreSQL General GSoC Page]]<br />
<br />
== Regarding Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
'''NOTE:''' Google wants each idea to be supported by a few sentences and then a list of skills/reqs, difficulty level, potential mentors, expected outcomes, etc. Please add sections in this format.<br />
<br />
== Mentors (2021) ==<br />
<br />
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:<br />
<br />
* Stephen Frost<br />
* David Steele<br />
* Andreas Scherbaum<br />
* Mark Wong<br />
* Ilaria Battiston<br />
* Andrey Borodin<br />
* Jesper Pedersen<br />
* Mark Rofail<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello<br />
<br />
----<br />
<br />
==Improve PostgreSQL Regression Test Coverage (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The current regression test coverage for PostgreSQL isn't great, to the point where some areas of the code are covered only at single-digit-percent levels.<br />
<br />
Having good regression tests for such an important project as PostgreSQL is really key to minimizing the chance that any regressions are introduced. While this might seem like a small project, it isn't, particularly when it comes to PostgreSQL. PostgreSQL is over 1.3M lines of code and some of the code paths can be tricky to reach.<br />
<br />
The current regression test coverage can be see here: https://coverage.postgresql.org<br />
<br />
PostgreSQL's build system includes a "make coverage-html" to generate the report.<br />
<br />
Please note that this project involves writing SQL code and Perl code, at a minimum, to implement the tests necessary to increase the code coverage of the PostgreSQL regression tests. There is a lot of opportunity for improvement here as PostgreSQL is currently at only about 73% LOC coverage.<br />
<br />
=====Skills needed=====<br />
* Perl, as many PostgreSQL regression tests are written using the Perl TAP system and new ones will likely need to be.<br />
* SQL, to craft tests that hit certain code paths<br />
* Ability to read C code enough to work through a way to get a particular line or lines of code tested.<br />
<br />
=====Difficulty Level=====<br />
<br />
For someone with the skills listed, even at a relatively beginner level, should make this a very straight-forward if tedious project.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost can mentor. Stephen is a major contributor and committer and has been working on improving regression tests in PG for quite a while.<br />
* Andreas Scherbaum<br />
* Mark Rofail, former GSoC student.<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Significantly improved code coverage for the PostgreSQL regression test suite, ie: 73% -> 80%.<br />
<br />
----<br />
<br />
==Develop Performance Farm Benchmarks and Website (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The PostgreSQL Performance Farm project is a community project to collect and review performance data from tests as code changes are made to PostgreSQL, working on Linux and OSX. The infrastructure uses a Django API and a Python script to run benchmarks and collect analytics data from PostgreSQL instances and hosts. Right now, the infrastructure is functional but some improvements would be beneficial, especially for better portability on the PostgreSQL server. Specifically, these are some features which could be implemented:<br />
* Integration of collectd and pg_stat_statement data<br />
* Creation of an admin panel accessible through the website<br />
* General GUI improvements<br />
* Eventual migration from Vue.js to vanilla Javascript<br />
* Removal of dependencies<br />
This list can eventually be subject to changes, and is open to students' suggestions. Current code is at: https://git.postgresql.org/gitweb/?p=pgperffarm.git;a=summary. Mentors are either past developers or past GSoC mentors for the same project.<br />
<br />
As an example, the PostgreSQL Build Farm site [1] is a central repository for the results of testing source code changes for PostgreSQL as they occur, on a wide variety of platforms.<br />
<br />
=====Skills needed=====<br />
<br />
* Python programming (both scripting and Django)<br />
* Web development (Javascript, Vue.js)<br />
* Understanding of PostgreSQL benchmarks and website infrastructure<br />
<br />
=====Difficulty Level=====<br />
<br />
This project should not be particularly challenging having basic full-stack development skills.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* Ilaria Battiston<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* A functional Web site where clients can upload test results which can be hosted on PostgreSQL infrastructure and users can search and review uploaded results.<br />
<br />
=====References=====<br />
<br />
[1] https://buildfarm.postgresql.org/<br />
<br />
----<br />
==Improve pgeu-system for Conference Management (2021)==<br />
<br />
=====Project Description=====<br />
pg-eu system is an infrastructure used by Postgres for managing non-profit organizations along with an extensive conference management system. It contains features such as invoices, administration of conferences, memberships and elections, along with social media integration. There are some improvements which could be made to the system, which are being proposed in the form of GitHub issues [1], such as adding HTML emails and adding a generalised form.<br />
<br />
Specific sub-projects which we would like to see a student propose to work on:<br />
<br />
* Add support for sending emails with HTML. Students interested in this would do well to review how the pgweb [2] system supports sending HTML emails in the News system. [3] Github issue for this. [4]<br />
* Add support for multiple vote tallying methodologies. There is currently one built-in method of voting but we would like to see that extended, in particular adding support for STV [6]. The github issue for this [5]<br />
* Generalized form capability. This task is definitely larger than the others included and a full proposal for this item by itself could be a GSoC project, depending on the student's skill. The idea is to have a generalized form-building capability which administrators could use to craft surveys to send to members and others. There is some support already for this in the conference system but we'd like to generalize it and make it available outside of the conference part of the system. Github issue for this [7]<br />
* Other projects could be suggested by a student based on the github issues list.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to go through the list of issues, and work on at least a few of them, especially the major ones.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/pgeu/pgeu-system/issues<br />
[2] https://git.postgresql.org/gitweb/?p=pgweb.git;a=summary<br />
[3] https://git.postgresql.org/gitweb/?p=pgweb.git;a=tree;f=pgweb/news;h=6fd47283f0e39dfe6c7b31fded55ff79ae521767;hb=HEAD<br />
[4] https://github.com/pgeu/pgeu-system/issues/53<br />
[5] https://github.com/pgeu/pgeu-system/issues/54<br />
[6] https://github.com/RhodiumToad/sql_stv<br />
[7] https://github.com/pgeu/pgeu-system/issues/52<br />
<br />
----<br />
==Creating a pgweb testing harness (2021)==<br />
<br />
=====Project Description=====<br />
pgweb [1] is the official repository containing code of the website [http://www.postgresql.org/<br />
]. The infrastructure is deployed and maintained by a team of developers, however lacks of a testing suite to check for a correct functioning after each modification. The team could benefit of a framework to be integrated in the current CI pipeline, to support both tests for the current code and the addition of new tests for any upcoming new code.<br />
<br />
What to be tested specifically is to be defined and will be part of the GSoC project, but there are some desired features:<br />
* automatic testing of existing code:<br />
** proper functionality of links, forms, cookies<br />
** browser compatibility and performance<br />
** accessibility<br />
** integration tests<br />
* possibility to easily implement new tests<br />
* other things can be suggested by students<br />
<br />
The testing suite should be a standalone module, to eventually be integrated in CI pipeline after development. Since the web framework of pgweb is in Django and Python, these would be the preferred tools. Furthermore, a student should know a bit of web development and testing to be able to properly define requirements and implement them.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* CI/CD pipelines<br />
* Web development and testing<br />
* HTML, CSS, Bootstrap<br />
* Javascript, jQuery<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to define a set of features and requirements to test, to then implement these tests and be able to run them for the existing codebase, automatically notifying errors on a periodic basis.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgweb<br />
<br />
----<br />
==Improve pgarchives (2021)==<br />
<br />
=====Project Description=====<br />
pgarchives [1] is the official archive of Postgres mailing lists. Users are able to access the interface from the website [2] and browse it, searching according to mailing list, keywords and date. Nevertheless, archives are not quite user friendly and lack some potentially useful functionalities. <br />
<br />
Ideally, pgarchives should allow users to interact with mailing lists directly from its webpage, without recurring to external clients or websites. This could be implemented through a form, but it also needs to be supported by backend code, providing the necessary checks of credentials and permissions.<br />
<br />
Furthermore, the graphical interface could benefit of some changes, in particular its search results page. There are some threads in the pgweb mailing lists stating desired improvements, which include:<br />
* better pagination<br />
* search results focussed on entire threads, rather than single separate emails<br />
* mobile-friendly results<br />
* general GUI restyling<br />
<br />
Code is written in Python, with a Django API and some HTML/CSS on top. <br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to improve search functionality, user interface usability and integrate mailing list interaction through the website.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgarchives<br />
[2] https://www.postgresql.org/list/<br />
----<br />
<br />
==pgBackRest port to Windows (2021)==<br />
<br />
=====Project Description=====<br />
<br />
This project would aim to port pgBackRest, which is now fully written in C, over to Windows. This will require some changes in how pgBackRest operates. The necessary changes for running pgBackRest on Windows have been contemplated during the architecture and design of pgBackRest and therefore should be reasonably straight-forward to implement.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Working in a Windows development environment<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* David Steele<br />
<br />
=====Expected Outcomes=====<br />
<br />
* pgBackRest able to be built and run on Windows.<br />
<br />
=====References=====<br />
<br />
[1] https://www.pgbackrest.org/<br />
<br />
[2] https://github.com/pgbackrest<br />
<br />
----<br />
<br />
==Add functionality to pg_top and supporting tools (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pg_top (https://pg_top.gitlab.io/) is 'top' for PostgreSQL. It is a terminal based monitoring tool specifically for PostgreSQL. There are companion tools such as pg_systat (https://pg_systat.gitlab.io/) and pg_proctab (https://pg_proctab.gitlab.io/) that help monitor database statistics and enable monitoring of remote databases. pg_systat focuses more on database statistics and general system statistics as opposed to individual processes. pg_proctab is a PostgreSQL extension that exposes operating system statistics through user defined functions.<br />
<br />
This is a list of some functionality enhancements that could improve these tools (additional suggestions welcome):<br />
<br />
* Add monitoring of pg_stat_statements (https://www.postgresql.org/docs/current/pgstatstatements.html) to pg_systat.<br />
* Add ability to monitor remote systems with pg_systat, which may need supporting functionality added to pg_proctab.<br />
* Add additional i/o stats to pg_systat's monitoring of table spaces.<br />
* Update pg_top to work on current releases of MacOS<br />
* Port pg_proctab to work on FreeBSD<br />
* Rewrite pg_top in rust.<br />
* Rewrite pg_systat in rust.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* SQL<br />
* PostgreSQL<br />
* Rust (only for porting tasks)<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project needs familiarity with C programming. Understanding SQL is a plus but can be learned during the project as its use is limited.<br />
<br />
Some functionality involves learning about operating systems such as the process table and how system statistics are reported.<br />
<br />
Some PostgreSQL administration skills are needed for creating a database in order to tests these tools.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
There are many tasks and it may not be possible to complete all of them within a single summer. A plan is expected for which tasks to be attempted.<br />
<br />
=====References=====<br />
<br />
[1] pg_top presetnation: https://www.slideshare.net/markwkm/pgtop-is-top-for-postgresql-pgtop-pgproctab-presentation<br />
<br />
[2] pg_proctab presentation: https://www.slideshare.net/markwkm/pgproctab-accessing-system-stats-in-postgresql-3573304<br />
<br />
[3] pg_systat presentatin: https://postgresql.us/events/pgopen2019/sessions/session/622/slides/48/terminal-tools.pdf<br />
<br />
----<br />
<br />
==Create procedural language extension for the Julia programming language (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pl/julia is the start of an extension to support the Julia programming language in PostgreSQL. While currently functional it has minimal support for writing user defined functions so additional functionality is needed to make the extension more useful.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
* Support input parameters as arrays<br />
* Cache procedural language code instead of looking it up every time<br />
<br />
Some of the tasks here may overlap and can also be implemented with plsample (see plsample idea on this wiki).<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Julia<br />
* SQL<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming and knowledge on how to generate Julia code. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end.<br />
<br />
=====References=====<br />
<br />
[1] Julia programming language: https://julialang.org/<br />
<br />
[2] pl/julia code: https://gitlab.com/pljulia/pljulia<br />
<br />
[3] Blog (1 of 5) about pl/julia extension: <br />
https://www.2ndquadrant.com/en/blog/creating-a-postgresql-procedural-language-part-1-setup/<br />
<br />
----<br />
<br />
==Make plsample a more complete procedural language handler example (2021)==<br />
<br />
=====Project Description=====<br />
<br />
plsample is a sample procedural language example in the PostgreSQL source code. It is intended to serve at least two purposes: to provide a template for others to build their own procedural language handler, and to help test the PostgreSQL code.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end. There may be some overlap with improving pl/julia.<br />
<br />
=====References=====<br />
<br />
[1] src/test/modules/plsample: See at https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/test/modules/plsample;h=ca0363ef94d3ff0c305df3340b43014a08b23118;hb=HEAD or https://github.com/postgres/postgres/tree/master/src/test/modules/plsample<br />
<br />
<br />
==WAL-G: optimize full backups using object-storage remote-copy APIs(2021)==<br />
<br />
=====Project Description=====<br />
Certain cloud providers have object-storage remote copy support, where a bucket object can be copied from one bucket-key to another without any bits actually moving around (basically like a clone or hard-link, done within the object store.)<br />
<br />
wal-g backup-push could be extended (for these object-storage providers) to create full backups based on previous full or incremental backups, by:<br />
<br />
* finding the set of changed files from the base, as if an incremental backup were being created<br />
* for any file that exists unchanged in the base, use a remote-copy to clone it from the old bucket-key to the new bucket-key<br />
* for any file that has changed, upload it as normal<br />
<br />
=====Skills needed=====<br />
<br />
* Go<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project require Go programming. Some knowledge of PostgreSQL administration is needed to setup backups with PITR.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Daniil Zakhlystov<br />
* Andrey Borodin<br />
<br />
=====Expected Outcomes=====<br />
<br />
Faster full backups where databases have a lot of static files.<br />
<br />
----<br />
<br />
==pgagroal: Metrics and monitoring (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to enhance the current collected metrics by adding new data points that provides a deeper insight to the traffic flow<br />
through the connection pool.<br />
<br />
To provide a better out-of-the-box experience for end-users a sample Grafana dashboard should be created that provides all key metrics<br />
in an easy to understand way.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Investigate and analyze possible data points<br />
* Create configuration property for gatering these new metrics<br />
* Expose new metrics in the Prometheus interface<br />
* Create Grafana dashboards<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Prometheus<br />
* Grafana<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills to enhance metrics gathering and exposure through the Prometheus interface.<br />
<br />
Any candidate should also be able to work with a Grafana setup in order to create the dashboards.<br />
<br />
This work will require some knowledge of the PostgreSQL protocol as well as basic administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Improve the metrics gathered, if enabled, and expose them through the Prometheus interface.<br />
* Create a sample Grafana dashboard that exposes these metrics.<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/prometheus.c<br />
<br />
[4] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/pipeline_session.c<br />
<br />
[5] https://prometheus.io/<br />
<br />
[6] https://grafana.com/oss/<br />
<br />
----<br />
<br />
==pgagroal: SCRAM-SHA-256-PLUS support (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to add SCRAM-SHA-256-PLUS support in order to enhance security when communicating with the connection pool.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Study the relevant specifications<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Transport Layer Security<br />
* OpenSSL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills, knowledge about Transport Layer Security (TLS) and the OpenSSL API.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/security.c<br />
<br />
[4] https://tools.ietf.org/html/rfc5802<br />
<br />
[5] https://tools.ietf.org/html/rfc7677<br />
<br />
[6] https://tools.ietf.org/html/rfc5246<br />
<br />
[7] https://www.openssl.org/<br />
<br />
----<br />
<br />
==Database Load Stress Benchmark==<br />
<br />
=====Project Description=====<br />
<br />
This project involves developing a new benchmarking stress tool for testing PostgreSQL's durability and resilience.<br />
<br />
The Touchstone project provides C and Rust code for generating random data such as strings, numbers and dates. Other data types could be useful such as arrays and JSON to just name a couple more examples of data types that PostgreSQL supports. Scripts need to be developed to load a database, add additional load with queries, updates, creating indexes, and other maintenance operations to make sure PostgreSQL can survive extremes loads.<br />
<br />
=====Skills needed=====<br />
<br />
* C or Rust<br />
* PostgreSQL<br />
* Shell scripting<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C or Rust programming skills, and shell scripting.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement a test that will load PostgreSQL with random data.<br />
* Benchmark the data loading for different data sizes and data types.<br />
* Create a comparable test scenario for I/O performance measurements.<br />
<br />
=====References=====<br />
<br />
[1] https://gitlab.com/touchstone/touchstone<br />
<br />
<br />
<br />
----<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2021&diff=35779GSoC 20212021-03-14T03:48:58Z<p>Fabriziomello: /* Improve PostgreSQL Regression Test Coverage (2021) */</p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
Note that there is a top-level GSoC page for PostgreSQL here: [[GSoC|PostgreSQL General GSoC Page]]<br />
<br />
== Regarding Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
'''NOTE:''' Google wants each idea to be supported by a few sentences and then a list of skills/reqs, difficulty level, potential mentors, expected outcomes, etc. Please add sections in this format.<br />
<br />
== Mentors (2021) ==<br />
<br />
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:<br />
<br />
* Stephen Frost<br />
* David Steele<br />
* Andreas Scherbaum<br />
* Mark Wong<br />
* Ilaria Battiston<br />
* Andrey Borodin<br />
* Jesper Pedersen<br />
* Mark Rofail<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello<br />
<br />
----<br />
<br />
==Improve PostgreSQL Regression Test Coverage (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The current regression test coverage for PostgreSQL isn't great, to the point where some areas of the code are covered only at single-digit-percent levels.<br />
<br />
Having good regression tests for such an important project as PostgreSQL is really key to minimizing the chance that any regressions are introduced. While this might seem like a small project, it isn't, particularly when it comes to PostgreSQL. PostgreSQL is over 1.3M lines of code and some of the code paths can be tricky to reach.<br />
<br />
The current regression test coverage can be see here: https://coverage.postgresql.org<br />
<br />
PostgreSQL's build system includes a "make coverage-html" to generate the report.<br />
<br />
Please note that this project involves writing SQL code and Perl code, at a minimum, to implement the tests necessary to increase the code coverage of the PostgreSQL regression tests. There is a lot of opportunity for improvement here as PostgreSQL is currently at only about 73% LOC coverage.<br />
<br />
=====Skills needed=====<br />
* Perl, as many PostgreSQL regression tests are written using the Perl TAP system and new ones will likely need to be.<br />
* SQL, to craft tests that hit certain code paths<br />
* Ability to read C code enough to work through a way to get a particular line or lines of code tested.<br />
<br />
=====Difficulty Level=====<br />
<br />
For someone with the skills listed, even at a relatively beginner level, should make this a very straight-forward if tedious project.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost can mentor. Stephen is a major contributor and committer and has been working on improving regression tests in PG for quite a while.<br />
* Andreas Scherbaum<br />
* Mark Rofail, former GSoC student.<br />
* Fabrízio de Royes Mello, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Significantly improved code coverage for the PostgreSQL regression test suite, ie: 73% -> 80%.<br />
<br />
----<br />
<br />
==Develop Performance Farm Benchmarks and Website (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The PostgreSQL Performance Farm project is a community project to collect and review performance data from tests as code changes are made to PostgreSQL, working on Linux and OSX. The infrastructure uses a Django API and a Python script to run benchmarks and collect analytics data from PostgreSQL instances and hosts. Right now, the infrastructure is functional but some improvements would be beneficial, especially for better portability on the PostgreSQL server. Specifically, these are some features which could be implemented:<br />
* Integration of collectd and pg_stat_statement data<br />
* Creation of an admin panel accessible through the website<br />
* General GUI improvements<br />
* Eventual migration from Vue.js to vanilla Javascript<br />
* Removal of dependencies<br />
This list can eventually be subject to changes, and is open to students' suggestions. Current code is at: https://git.postgresql.org/gitweb/?p=pgperffarm.git;a=summary. Mentors are either past developers or past GSoC mentors for the same project.<br />
<br />
As an example, the PostgreSQL Build Farm site [1] is a central repository for the results of testing source code changes for PostgreSQL as they occur, on a wide variety of platforms.<br />
<br />
=====Skills needed=====<br />
<br />
* Python programming (both scripting and Django)<br />
* Web development (Javascript, Vue.js)<br />
* Understanding of PostgreSQL benchmarks and website infrastructure<br />
<br />
=====Difficulty Level=====<br />
<br />
This project should not be particularly challenging having basic full-stack development skills.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* Ilaria Battiston<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* A functional Web site where clients can upload test results which can be hosted on PostgreSQL infrastructure and users can search and review uploaded results.<br />
<br />
=====References=====<br />
<br />
[1] https://buildfarm.postgresql.org/<br />
<br />
----<br />
==Improve pgeu-system for Conference Management (2021)==<br />
<br />
=====Project Description=====<br />
pg-eu system is an infrastructure used by Postgres for managing non-profit organizations along with an extensive conference management system. It contains features such as invoices, administration of conferences, memberships and elections, along with social media integration. There are some improvements which could be made to the system, which are being proposed in the form of GitHub issues [1], such as adding HTML emails and adding a generalised form.<br />
<br />
Specific sub-projects which we would like to see a student propose to work on:<br />
<br />
* Add support for sending emails with HTML. Students interested in this would do well to review how the pgweb [2] system supports sending HTML emails in the News system. [3] Github issue for this. [4]<br />
* Add support for multiple vote tallying methodologies. There is currently one built-in method of voting but we would like to see that extended, in particular adding support for STV [6]. The github issue for this [5]<br />
* Generalized form capability. This task is definitely larger than the others included and a full proposal for this item by itself could be a GSoC project, depending on the student's skill. The idea is to have a generalized form-building capability which administrators could use to craft surveys to send to members and others. There is some support already for this in the conference system but we'd like to generalize it and make it available outside of the conference part of the system. Github issue for this [7]<br />
* Other projects could be suggested by a student based on the github issues list.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to go through the list of issues, and work on at least a few of them, especially the major ones.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/pgeu/pgeu-system/issues<br />
[2] https://git.postgresql.org/gitweb/?p=pgweb.git;a=summary<br />
[3] https://git.postgresql.org/gitweb/?p=pgweb.git;a=tree;f=pgweb/news;h=6fd47283f0e39dfe6c7b31fded55ff79ae521767;hb=HEAD<br />
[4] https://github.com/pgeu/pgeu-system/issues/53<br />
[5] https://github.com/pgeu/pgeu-system/issues/54<br />
[6] https://github.com/RhodiumToad/sql_stv<br />
[7] https://github.com/pgeu/pgeu-system/issues/52<br />
<br />
----<br />
==Creating a pgweb testing harness (2021)==<br />
<br />
=====Project Description=====<br />
pgweb [1] is the official repository containing code of the website [http://www.postgresql.org/<br />
]. The infrastructure is deployed and maintained by a team of developers, however lacks of a testing suite to check for a correct functioning after each modification. The team could benefit of a framework to be integrated in the current CI pipeline, to support both tests for the current code and the addition of new tests for any upcoming new code.<br />
<br />
What to be tested specifically is to be defined and will be part of the GSoC project, but there are some desired features:<br />
* automatic testing of existing code:<br />
** proper functionality of links, forms, cookies<br />
** browser compatibility and performance<br />
** accessibility<br />
** integration tests<br />
* possibility to easily implement new tests<br />
* other things can be suggested by students<br />
<br />
The testing suite should be a standalone module, to eventually be integrated in CI pipeline after development. Since the web framework of pgweb is in Django and Python, these would be the preferred tools. Furthermore, a student should know a bit of web development and testing to be able to properly define requirements and implement them.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* CI/CD pipelines<br />
* Web development and testing<br />
* HTML, CSS, Bootstrap<br />
* Javascript, jQuery<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to define a set of features and requirements to test, to then implement these tests and be able to run them for the existing codebase, automatically notifying errors on a periodic basis.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgweb<br />
<br />
----<br />
==Improve pgarchives (2021)==<br />
<br />
=====Project Description=====<br />
pgarchives [1] is the official archive of Postgres mailing lists. Users are able to access the interface from the website [2] and browse it, searching according to mailing list, keywords and date. Nevertheless, archives are not quite user friendly and lack some potentially useful functionalities. <br />
<br />
Ideally, pgarchives should allow users to interact with mailing lists directly from its webpage, without recurring to external clients or websites. This could be implemented through a form, but it also needs to be supported by backend code, providing the necessary checks of credentials and permissions.<br />
<br />
Furthermore, the graphical interface could benefit of some changes, in particular its search results page. There are some threads in the pgweb mailing lists stating desired improvements, which include:<br />
* better pagination<br />
* search results focussed on entire threads, rather than single separate emails<br />
* mobile-friendly results<br />
* general GUI restyling<br />
<br />
Code is written in Python, with a Django API and some HTML/CSS on top. <br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to improve search functionality, user interface usability and integrate mailing list interaction through the website.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgarchives<br />
[2] https://www.postgresql.org/list/<br />
----<br />
<br />
==pgBackRest port to Windows (2021)==<br />
<br />
=====Project Description=====<br />
<br />
This project would aim to port pgBackRest, which is now fully written in C, over to Windows. This will require some changes in how pgBackRest operates. The necessary changes for running pgBackRest on Windows have been contemplated during the architecture and design of pgBackRest and therefore should be reasonably straight-forward to implement.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Working in a Windows development environment<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* David Steele<br />
<br />
=====Expected Outcomes=====<br />
<br />
* pgBackRest able to be built and run on Windows.<br />
<br />
=====References=====<br />
<br />
[1] https://www.pgbackrest.org/<br />
<br />
[2] https://github.com/pgbackrest<br />
<br />
----<br />
<br />
==Add functionality to pg_top and supporting tools (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pg_top (https://pg_top.gitlab.io/) is 'top' for PostgreSQL. It is a terminal based monitoring tool specifically for PostgreSQL. There are companion tools such as pg_systat (https://pg_systat.gitlab.io/) and pg_proctab (https://pg_proctab.gitlab.io/) that help monitor database statistics and enable monitoring of remote databases. pg_systat focuses more on database statistics and general system statistics as opposed to individual processes. pg_proctab is a PostgreSQL extension that exposes operating system statistics through user defined functions.<br />
<br />
This is a list of some functionality enhancements that could improve these tools (additional suggestions welcome):<br />
<br />
* Add monitoring of pg_stat_statements (https://www.postgresql.org/docs/current/pgstatstatements.html) to pg_systat.<br />
* Add ability to monitor remote systems with pg_systat, which may need supporting functionality added to pg_proctab.<br />
* Add additional i/o stats to pg_systat's monitoring of table spaces.<br />
* Update pg_top to work on current releases of MacOS<br />
* Port pg_proctab to work on FreeBSD<br />
* Rewrite pg_top in rust.<br />
* Rewrite pg_systat in rust.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* SQL<br />
* PostgreSQL<br />
* Rust (only for porting tasks)<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project needs familiarity with C programming. Understanding SQL is a plus but can be learned during the project as its use is limited.<br />
<br />
Some functionality involves learning about operating systems such as the process table and how system statistics are reported.<br />
<br />
Some PostgreSQL administration skills are needed for creating a database in order to tests these tools.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
There are many tasks and it may not be possible to complete all of them within a single summer. A plan is expected for which tasks to be attempted.<br />
<br />
=====References=====<br />
<br />
[1] pg_top presetnation: https://www.slideshare.net/markwkm/pgtop-is-top-for-postgresql-pgtop-pgproctab-presentation<br />
<br />
[2] pg_proctab presentation: https://www.slideshare.net/markwkm/pgproctab-accessing-system-stats-in-postgresql-3573304<br />
<br />
[3] pg_systat presentatin: https://postgresql.us/events/pgopen2019/sessions/session/622/slides/48/terminal-tools.pdf<br />
<br />
----<br />
<br />
==Create procedural language extension for the Julia programming language (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pl/julia is the start of an extension to support the Julia programming language in PostgreSQL. While currently functional it has minimal support for writing user defined functions so additional functionality is needed to make the extension more useful.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
* Support input parameters as arrays<br />
* Cache procedural language code instead of looking it up every time<br />
<br />
Some of the tasks here may overlap and can also be implemented with plsample (see plsample idea on this wiki).<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Julia<br />
* SQL<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming and knowledge on how to generate Julia code. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end.<br />
<br />
=====References=====<br />
<br />
[1] Julia programming language: https://julialang.org/<br />
<br />
[2] pl/julia code: https://gitlab.com/pljulia/pljulia<br />
<br />
[3] Blog (1 of 5) about pl/julia extension: <br />
https://www.2ndquadrant.com/en/blog/creating-a-postgresql-procedural-language-part-1-setup/<br />
<br />
----<br />
<br />
==Make plsample a more complete procedural language handler example (2021)==<br />
<br />
=====Project Description=====<br />
<br />
plsample is a sample procedural language example in the PostgreSQL source code. It is intended to serve at least two purposes: to provide a template for others to build their own procedural language handler, and to help test the PostgreSQL code.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end. There may be some overlap with improving pl/julia.<br />
<br />
=====References=====<br />
<br />
[1] src/test/modules/plsample: See at https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/test/modules/plsample;h=ca0363ef94d3ff0c305df3340b43014a08b23118;hb=HEAD or https://github.com/postgres/postgres/tree/master/src/test/modules/plsample<br />
<br />
<br />
==WAL-G: optimize full backups using object-storage remote-copy APIs(2021)==<br />
<br />
=====Project Description=====<br />
Certain cloud providers have object-storage remote copy support, where a bucket object can be copied from one bucket-key to another without any bits actually moving around (basically like a clone or hard-link, done within the object store.)<br />
<br />
wal-g backup-push could be extended (for these object-storage providers) to create full backups based on previous full or incremental backups, by:<br />
<br />
* finding the set of changed files from the base, as if an incremental backup were being created<br />
* for any file that exists unchanged in the base, use a remote-copy to clone it from the old bucket-key to the new bucket-key<br />
* for any file that has changed, upload it as normal<br />
<br />
=====Skills needed=====<br />
<br />
* Go<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project require Go programming. Some knowledge of PostgreSQL administration is needed to setup backups with PITR.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Daniil Zakhlystov<br />
* Andrey Borodin<br />
<br />
=====Expected Outcomes=====<br />
<br />
Faster full backups where databases have a lot of static files.<br />
<br />
----<br />
<br />
==pgagroal: Metrics and monitoring (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to enhance the current collected metrics by adding new data points that provides a deeper insight to the traffic flow<br />
through the connection pool.<br />
<br />
To provide a better out-of-the-box experience for end-users a sample Grafana dashboard should be created that provides all key metrics<br />
in an easy to understand way.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Investigate and analyze possible data points<br />
* Create configuration property for gatering these new metrics<br />
* Expose new metrics in the Prometheus interface<br />
* Create Grafana dashboards<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Prometheus<br />
* Grafana<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills to enhance metrics gathering and exposure through the Prometheus interface.<br />
<br />
Any candidate should also be able to work with a Grafana setup in order to create the dashboards.<br />
<br />
This work will require some knowledge of the PostgreSQL protocol as well as basic administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Improve the metrics gathered, if enabled, and expose them through the Prometheus interface.<br />
* Create a sample Grafana dashboard that exposes these metrics.<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/prometheus.c<br />
<br />
[4] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/pipeline_session.c<br />
<br />
[5] https://prometheus.io/<br />
<br />
[6] https://grafana.com/oss/<br />
<br />
----<br />
<br />
==pgagroal: SCRAM-SHA-256-PLUS support (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to add SCRAM-SHA-256-PLUS support in order to enhance security when communicating with the connection pool.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Study the relevant specifications<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Transport Layer Security<br />
* OpenSSL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills, knowledge about Transport Layer Security (TLS) and the OpenSSL API.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/security.c<br />
<br />
[4] https://tools.ietf.org/html/rfc5802<br />
<br />
[5] https://tools.ietf.org/html/rfc7677<br />
<br />
[6] https://tools.ietf.org/html/rfc5246<br />
<br />
[7] https://www.openssl.org/<br />
<br />
----<br />
<br />
==Database Load Stress Benchmark==<br />
<br />
=====Project Description=====<br />
<br />
This project involves developing a new benchmarking stress tool for testing PostgreSQL's durability and resilience.<br />
<br />
The Touchstone project provides C and Rust code for generating random data such as strings, numbers and dates. Other data types could be useful such as arrays and JSON to just name a couple more examples of data types that PostgreSQL supports. Scripts need to be developed to load a database, add additional load with queries, updates, creating indexes, and other maintenance operations to make sure PostgreSQL can survive extremes loads.<br />
<br />
=====Skills needed=====<br />
<br />
* C or Rust<br />
* PostgreSQL<br />
* Shell scripting<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C or Rust programming skills, and shell scripting.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement a test that will load PostgreSQL with random data.<br />
* Benchmark the data loading for different data sizes and data types.<br />
* Create a comparable test scenario for I/O performance measurements.<br />
<br />
=====References=====<br />
<br />
[1] https://gitlab.com/touchstone/touchstone<br />
<br />
<br />
<br />
----<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2021&diff=35778GSoC 20212021-03-14T03:48:28Z<p>Fabriziomello: /* Mentors (2021) */</p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
Note that there is a top-level GSoC page for PostgreSQL here: [[GSoC|PostgreSQL General GSoC Page]]<br />
<br />
== Regarding Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
'''NOTE:''' Google wants each idea to be supported by a few sentences and then a list of skills/reqs, difficulty level, potential mentors, expected outcomes, etc. Please add sections in this format.<br />
<br />
== Mentors (2021) ==<br />
<br />
The following individuals have been listed as possible mentors on the below projects, and/or offered to be mentors for student-proposed projects:<br />
<br />
* Stephen Frost<br />
* David Steele<br />
* Andreas Scherbaum<br />
* Mark Wong<br />
* Ilaria Battiston<br />
* Andrey Borodin<br />
* Jesper Pedersen<br />
* Mark Rofail<br />
* Gabrielle Roth<br />
* Fabrízio de Royes Mello<br />
<br />
----<br />
<br />
==Improve PostgreSQL Regression Test Coverage (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The current regression test coverage for PostgreSQL isn't great, to the point where some areas of the code are covered only at single-digit-percent levels.<br />
<br />
Having good regression tests for such an important project as PostgreSQL is really key to minimizing the chance that any regressions are introduced. While this might seem like a small project, it isn't, particularly when it comes to PostgreSQL. PostgreSQL is over 1.3M lines of code and some of the code paths can be tricky to reach.<br />
<br />
The current regression test coverage can be see here: https://coverage.postgresql.org<br />
<br />
PostgreSQL's build system includes a "make coverage-html" to generate the report.<br />
<br />
Please note that this project involves writing SQL code and Perl code, at a minimum, to implement the tests necessary to increase the code coverage of the PostgreSQL regression tests. There is a lot of opportunity for improvement here as PostgreSQL is currently at only about 73% LOC coverage.<br />
<br />
=====Skills needed=====<br />
* Perl, as many PostgreSQL regression tests are written using the Perl TAP system and new ones will likely need to be.<br />
* SQL, to craft tests that hit certain code paths<br />
* Ability to read C code enough to work through a way to get a particular line or lines of code tested.<br />
<br />
=====Difficulty Level=====<br />
<br />
For someone with the skills listed, even at a relatively beginner level, should make this a very straight-forward if tedious project.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost can mentor. Stephen is a major contributor and committer and has been working on improving regression tests in PG for quite a while.<br />
* Andreas Scherbaum<br />
* Mark Rofail, former GSoC student.<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Significantly improved code coverage for the PostgreSQL regression test suite, ie: 73% -> 80%.<br />
<br />
----<br />
<br />
==Develop Performance Farm Benchmarks and Website (2021)==<br />
<br />
=====Project Description=====<br />
<br />
The PostgreSQL Performance Farm project is a community project to collect and review performance data from tests as code changes are made to PostgreSQL, working on Linux and OSX. The infrastructure uses a Django API and a Python script to run benchmarks and collect analytics data from PostgreSQL instances and hosts. Right now, the infrastructure is functional but some improvements would be beneficial, especially for better portability on the PostgreSQL server. Specifically, these are some features which could be implemented:<br />
* Integration of collectd and pg_stat_statement data<br />
* Creation of an admin panel accessible through the website<br />
* General GUI improvements<br />
* Eventual migration from Vue.js to vanilla Javascript<br />
* Removal of dependencies<br />
This list can eventually be subject to changes, and is open to students' suggestions. Current code is at: https://git.postgresql.org/gitweb/?p=pgperffarm.git;a=summary. Mentors are either past developers or past GSoC mentors for the same project.<br />
<br />
As an example, the PostgreSQL Build Farm site [1] is a central repository for the results of testing source code changes for PostgreSQL as they occur, on a wide variety of platforms.<br />
<br />
=====Skills needed=====<br />
<br />
* Python programming (both scripting and Django)<br />
* Web development (Javascript, Vue.js)<br />
* Understanding of PostgreSQL benchmarks and website infrastructure<br />
<br />
=====Difficulty Level=====<br />
<br />
This project should not be particularly challenging having basic full-stack development skills.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* Ilaria Battiston<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* A functional Web site where clients can upload test results which can be hosted on PostgreSQL infrastructure and users can search and review uploaded results.<br />
<br />
=====References=====<br />
<br />
[1] https://buildfarm.postgresql.org/<br />
<br />
----<br />
==Improve pgeu-system for Conference Management (2021)==<br />
<br />
=====Project Description=====<br />
pg-eu system is an infrastructure used by Postgres for managing non-profit organizations along with an extensive conference management system. It contains features such as invoices, administration of conferences, memberships and elections, along with social media integration. There are some improvements which could be made to the system, which are being proposed in the form of GitHub issues [1], such as adding HTML emails and adding a generalised form.<br />
<br />
Specific sub-projects which we would like to see a student propose to work on:<br />
<br />
* Add support for sending emails with HTML. Students interested in this would do well to review how the pgweb [2] system supports sending HTML emails in the News system. [3] Github issue for this. [4]<br />
* Add support for multiple vote tallying methodologies. There is currently one built-in method of voting but we would like to see that extended, in particular adding support for STV [6]. The github issue for this [5]<br />
* Generalized form capability. This task is definitely larger than the others included and a full proposal for this item by itself could be a GSoC project, depending on the student's skill. The idea is to have a generalized form-building capability which administrators could use to craft surveys to send to members and others. There is some support already for this in the conference system but we'd like to generalize it and make it available outside of the conference part of the system. Github issue for this [7]<br />
* Other projects could be suggested by a student based on the github issues list.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to go through the list of issues, and work on at least a few of them, especially the major ones.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/pgeu/pgeu-system/issues<br />
[2] https://git.postgresql.org/gitweb/?p=pgweb.git;a=summary<br />
[3] https://git.postgresql.org/gitweb/?p=pgweb.git;a=tree;f=pgweb/news;h=6fd47283f0e39dfe6c7b31fded55ff79ae521767;hb=HEAD<br />
[4] https://github.com/pgeu/pgeu-system/issues/53<br />
[5] https://github.com/pgeu/pgeu-system/issues/54<br />
[6] https://github.com/RhodiumToad/sql_stv<br />
[7] https://github.com/pgeu/pgeu-system/issues/52<br />
<br />
----<br />
==Creating a pgweb testing harness (2021)==<br />
<br />
=====Project Description=====<br />
pgweb [1] is the official repository containing code of the website [http://www.postgresql.org/<br />
]. The infrastructure is deployed and maintained by a team of developers, however lacks of a testing suite to check for a correct functioning after each modification. The team could benefit of a framework to be integrated in the current CI pipeline, to support both tests for the current code and the addition of new tests for any upcoming new code.<br />
<br />
What to be tested specifically is to be defined and will be part of the GSoC project, but there are some desired features:<br />
* automatic testing of existing code:<br />
** proper functionality of links, forms, cookies<br />
** browser compatibility and performance<br />
** accessibility<br />
** integration tests<br />
* possibility to easily implement new tests<br />
* other things can be suggested by students<br />
<br />
The testing suite should be a standalone module, to eventually be integrated in CI pipeline after development. Since the web framework of pgweb is in Django and Python, these would be the preferred tools. Furthermore, a student should know a bit of web development and testing to be able to properly define requirements and implement them.<br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* CI/CD pipelines<br />
* Web development and testing<br />
* HTML, CSS, Bootstrap<br />
* Javascript, jQuery<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to define a set of features and requirements to test, to then implement these tests and be able to run them for the existing codebase, automatically notifying errors on a periodic basis.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgweb<br />
<br />
----<br />
==Improve pgarchives (2021)==<br />
<br />
=====Project Description=====<br />
pgarchives [1] is the official archive of Postgres mailing lists. Users are able to access the interface from the website [2] and browse it, searching according to mailing list, keywords and date. Nevertheless, archives are not quite user friendly and lack some potentially useful functionalities. <br />
<br />
Ideally, pgarchives should allow users to interact with mailing lists directly from its webpage, without recurring to external clients or websites. This could be implemented through a form, but it also needs to be supported by backend code, providing the necessary checks of credentials and permissions.<br />
<br />
Furthermore, the graphical interface could benefit of some changes, in particular its search results page. There are some threads in the pgweb mailing lists stating desired improvements, which include:<br />
* better pagination<br />
* search results focussed on entire threads, rather than single separate emails<br />
* mobile-friendly results<br />
* general GUI restyling<br />
<br />
Code is written in Python, with a Django API and some HTML/CSS on top. <br />
<br />
=====Skills needed=====<br />
* Django<br />
* Python<br />
* Web development<br />
<br />
=====Difficulty Level=====<br />
<br />
Easy/medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Ilaria Battiston<br />
* Stephen Frost<br />
* Mark Rofail, former GSoC student<br />
<br />
=====Expected Outcomes=====<br />
<br />
* We expect the student to improve search functionality, user interface usability and integrate mailing list interaction through the website.<br />
<br />
=====References=====<br />
<br />
[1] https://github.com/postgres/pgarchives<br />
[2] https://www.postgresql.org/list/<br />
----<br />
<br />
==pgBackRest port to Windows (2021)==<br />
<br />
=====Project Description=====<br />
<br />
This project would aim to port pgBackRest, which is now fully written in C, over to Windows. This will require some changes in how pgBackRest operates. The necessary changes for running pgBackRest on Windows have been contemplated during the architecture and design of pgBackRest and therefore should be reasonably straight-forward to implement.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Working in a Windows development environment<br />
<br />
=====Difficulty Level=====<br />
<br />
Medium.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Stephen Frost<br />
* David Steele<br />
<br />
=====Expected Outcomes=====<br />
<br />
* pgBackRest able to be built and run on Windows.<br />
<br />
=====References=====<br />
<br />
[1] https://www.pgbackrest.org/<br />
<br />
[2] https://github.com/pgbackrest<br />
<br />
----<br />
<br />
==Add functionality to pg_top and supporting tools (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pg_top (https://pg_top.gitlab.io/) is 'top' for PostgreSQL. It is a terminal based monitoring tool specifically for PostgreSQL. There are companion tools such as pg_systat (https://pg_systat.gitlab.io/) and pg_proctab (https://pg_proctab.gitlab.io/) that help monitor database statistics and enable monitoring of remote databases. pg_systat focuses more on database statistics and general system statistics as opposed to individual processes. pg_proctab is a PostgreSQL extension that exposes operating system statistics through user defined functions.<br />
<br />
This is a list of some functionality enhancements that could improve these tools (additional suggestions welcome):<br />
<br />
* Add monitoring of pg_stat_statements (https://www.postgresql.org/docs/current/pgstatstatements.html) to pg_systat.<br />
* Add ability to monitor remote systems with pg_systat, which may need supporting functionality added to pg_proctab.<br />
* Add additional i/o stats to pg_systat's monitoring of table spaces.<br />
* Update pg_top to work on current releases of MacOS<br />
* Port pg_proctab to work on FreeBSD<br />
* Rewrite pg_top in rust.<br />
* Rewrite pg_systat in rust.<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* SQL<br />
* PostgreSQL<br />
* Rust (only for porting tasks)<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project needs familiarity with C programming. Understanding SQL is a plus but can be learned during the project as its use is limited.<br />
<br />
Some functionality involves learning about operating systems such as the process table and how system statistics are reported.<br />
<br />
Some PostgreSQL administration skills are needed for creating a database in order to tests these tools.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
There are many tasks and it may not be possible to complete all of them within a single summer. A plan is expected for which tasks to be attempted.<br />
<br />
=====References=====<br />
<br />
[1] pg_top presetnation: https://www.slideshare.net/markwkm/pgtop-is-top-for-postgresql-pgtop-pgproctab-presentation<br />
<br />
[2] pg_proctab presentation: https://www.slideshare.net/markwkm/pgproctab-accessing-system-stats-in-postgresql-3573304<br />
<br />
[3] pg_systat presentatin: https://postgresql.us/events/pgopen2019/sessions/session/622/slides/48/terminal-tools.pdf<br />
<br />
----<br />
<br />
==Create procedural language extension for the Julia programming language (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pl/julia is the start of an extension to support the Julia programming language in PostgreSQL. While currently functional it has minimal support for writing user defined functions so additional functionality is needed to make the extension more useful.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
* Support input parameters as arrays<br />
* Cache procedural language code instead of looking it up every time<br />
<br />
Some of the tasks here may overlap and can also be implemented with plsample (see plsample idea on this wiki).<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* Julia<br />
* SQL<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming and knowledge on how to generate Julia code. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end.<br />
<br />
=====References=====<br />
<br />
[1] Julia programming language: https://julialang.org/<br />
<br />
[2] pl/julia code: https://gitlab.com/pljulia/pljulia<br />
<br />
[3] Blog (1 of 5) about pl/julia extension: <br />
https://www.2ndquadrant.com/en/blog/creating-a-postgresql-procedural-language-part-1-setup/<br />
<br />
----<br />
<br />
==Make plsample a more complete procedural language handler example (2021)==<br />
<br />
=====Project Description=====<br />
<br />
plsample is a sample procedural language example in the PostgreSQL source code. It is intended to serve at least two purposes: to provide a template for others to build their own procedural language handler, and to help test the PostgreSQL code.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Support triggers<br />
* Support event triggers<br />
* Support inline code execution, a.k.a DO statement<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming. Understanding SQL is needed in order to write regression tests but can be learned during the project as its use is limited.<br />
<br />
Some knowledge of PostgreSQL administration is needed for setting up a database to use the extension and running regression tests.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
A feature complete extension is likely beyond the scope this year's program but there are individual tasks that can be completed and get us closer to that end. There may be some overlap with improving pl/julia.<br />
<br />
=====References=====<br />
<br />
[1] src/test/modules/plsample: See at https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=src/test/modules/plsample;h=ca0363ef94d3ff0c305df3340b43014a08b23118;hb=HEAD or https://github.com/postgres/postgres/tree/master/src/test/modules/plsample<br />
<br />
<br />
==WAL-G: optimize full backups using object-storage remote-copy APIs(2021)==<br />
<br />
=====Project Description=====<br />
Certain cloud providers have object-storage remote copy support, where a bucket object can be copied from one bucket-key to another without any bits actually moving around (basically like a clone or hard-link, done within the object store.)<br />
<br />
wal-g backup-push could be extended (for these object-storage providers) to create full backups based on previous full or incremental backups, by:<br />
<br />
* finding the set of changed files from the base, as if an incremental backup were being created<br />
* for any file that exists unchanged in the base, use a remote-copy to clone it from the old bucket-key to the new bucket-key<br />
* for any file that has changed, upload it as normal<br />
<br />
=====Skills needed=====<br />
<br />
* Go<br />
* PostgreSQL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project require Go programming. Some knowledge of PostgreSQL administration is needed to setup backups with PITR.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Daniil Zakhlystov<br />
* Andrey Borodin<br />
<br />
=====Expected Outcomes=====<br />
<br />
Faster full backups where databases have a lot of static files.<br />
<br />
----<br />
<br />
==pgagroal: Metrics and monitoring (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to enhance the current collected metrics by adding new data points that provides a deeper insight to the traffic flow<br />
through the connection pool.<br />
<br />
To provide a better out-of-the-box experience for end-users a sample Grafana dashboard should be created that provides all key metrics<br />
in an easy to understand way.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Investigate and analyze possible data points<br />
* Create configuration property for gatering these new metrics<br />
* Expose new metrics in the Prometheus interface<br />
* Create Grafana dashboards<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Prometheus<br />
* Grafana<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills to enhance metrics gathering and exposure through the Prometheus interface.<br />
<br />
Any candidate should also be able to work with a Grafana setup in order to create the dashboards.<br />
<br />
This work will require some knowledge of the PostgreSQL protocol as well as basic administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Improve the metrics gathered, if enabled, and expose them through the Prometheus interface.<br />
* Create a sample Grafana dashboard that exposes these metrics.<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/prometheus.c<br />
<br />
[4] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/pipeline_session.c<br />
<br />
[5] https://prometheus.io/<br />
<br />
[6] https://grafana.com/oss/<br />
<br />
----<br />
<br />
==pgagroal: SCRAM-SHA-256-PLUS support (2021)==<br />
<br />
=====Project Description=====<br />
<br />
pgagroal is a high-performance protocol-native connection pool for PostgreSQL.<br />
<br />
This project aims to add SCRAM-SHA-256-PLUS support in order to enhance security when communicating with the connection pool.<br />
<br />
These are some tasks that need to be completed (additional suggestions welcome):<br />
<br />
* Study the relevant specifications<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====Skills needed=====<br />
<br />
* C<br />
* PostgreSQL<br />
* Transport Layer Security<br />
* OpenSSL<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C programming skills, knowledge about Transport Layer Security (TLS) and the OpenSSL API.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Jesper Pedersen<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement SCRAM-SHA-256-PLUS support<br />
* Optional: Implement SCRAM-SHA-256-PLUS between pgagroal and PostgreSQL<br />
<br />
=====References=====<br />
<br />
[1] https://agroal.github.io/pgagroal/<br />
<br />
[2] https://github.com/agroal/pgagroal<br />
<br />
[3] https://github.com/agroal/pgagroal/blob/master/src/libpgagroal/security.c<br />
<br />
[4] https://tools.ietf.org/html/rfc5802<br />
<br />
[5] https://tools.ietf.org/html/rfc7677<br />
<br />
[6] https://tools.ietf.org/html/rfc5246<br />
<br />
[7] https://www.openssl.org/<br />
<br />
----<br />
<br />
==Database Load Stress Benchmark==<br />
<br />
=====Project Description=====<br />
<br />
This project involves developing a new benchmarking stress tool for testing PostgreSQL's durability and resilience.<br />
<br />
The Touchstone project provides C and Rust code for generating random data such as strings, numbers and dates. Other data types could be useful such as arrays and JSON to just name a couple more examples of data types that PostgreSQL supports. Scripts need to be developed to load a database, add additional load with queries, updates, creating indexes, and other maintenance operations to make sure PostgreSQL can survive extremes loads.<br />
<br />
=====Skills needed=====<br />
<br />
* C or Rust<br />
* PostgreSQL<br />
* Shell scripting<br />
<br />
=====Difficulty Level=====<br />
<br />
The tasks in this project requires C or Rust programming skills, and shell scripting.<br />
<br />
This work will require some knowledge about basic PostgreSQL administration.<br />
<br />
=====Potential Mentors=====<br />
<br />
* Mark Wong<br />
* Gabrielle Roth<br />
<br />
=====Expected Outcomes=====<br />
<br />
* Implement a test that will load PostgreSQL with random data.<br />
* Benchmark the data loading for different data sizes and data types.<br />
* Create a comparable test scenario for I/O performance measurements.<br />
<br />
=====References=====<br />
<br />
[1] https://gitlab.com/touchstone/touchstone<br />
<br />
<br />
<br />
----<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PostgreSQL_13_Open_Items&diff=34671PostgreSQL 13 Open Items2020-02-27T03:00:52Z<p>Fabriziomello: </p>
<hr />
<div>== Open Issues ==<br />
<br />
'''NOTE''': Please add new open items to the bottom of the list.<br />
<br />
* Add your item here<br />
** Add the thread of the item here<br />
<br />
== Older Bugs ==<br />
<br />
=== Live issues ===<br />
<br />
=== Fixed issues ===<br />
<br />
=== Nothing to do ===<br />
<br />
== Non-bugs ==<br />
<br />
== Resolved Issues ==<br />
<br />
=== resolved before 13rc1 ===<br />
<br />
=== resolved before 13beta2 ===<br />
<br />
=== resolved before 13beta1 ===<br />
<br />
== Won't Fix ==<br />
<br />
== Important Dates ==<br />
<br />
Current schedule:<br />
* feature freeze: XXX<br />
* beta1: XXX<br />
* beta2: XXX<br />
* rc1: XXX<br />
* GA: XXX<br />
<br />
[[Category:Open_Items]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=So,_you_want_to_be_a_developer%3F&diff=34171So, you want to be a developer?2019-10-09T14:45:43Z<p>Fabriziomello: </p>
<hr />
<div>'''by Selena Deckelmann'''<br />
<br />
This document is meant as a guide for brand new developers, seeking to contribute to PostgreSQL, but unsure about how to get started, or "the right way" to get involved. Feedback is welcome, as are additional links to important documents, examples, tutorials and personal stories about contributing to the project.<br />
<br />
We also have a [[Developer_FAQ]]<br />
<br />
== How to get started ==<br />
<br />
=== Overview ===<br />
<br />
Contributing to core PostgreSQL requires a few basic development tools - git, a C development environment and perl. Most modern Linux and BSD operating systems come with "-devel" packages usable for your development needs. At a very high level, you will: <br />
<br />
* Get the basic tools installed and working (git, a C development environment, and perl)<br />
* Clone our git source code repository<br />
* Compile PostgreSQL and successfully run the regression test suite<br />
<br />
Now, you should be ready to start hacking on code!<br />
<br />
=== Source code ===<br />
<br />
Source code can be found at http://git.postgresql.org/gitweb?p=postgresql.git;a=summary<br />
<br />
Once you have git installed, you can check this code out locally with the command: <br />
<br />
git clone http://git.postgresql.org/git/postgresql.git<br />
<br />
While there are release tarballs available, you should use a git clone to work on code with the community. <br />
<br />
=== Hacking PostgreSQL Resources ===<br />
<br />
There are a couple of different resources out on the net about how to go about actually hacking on PostgreSQL; these are just a few:<br />
<br />
Neil Conway and Gavin Sherry's original "Introduction to Hacking PostgreSQL": http://www.neilconway.org/talks/hacking/ ; presented at PgCon 2007 (http://www.pgcon.org/2007/schedule/events/8.en.html) and the PostgreSQL 10-year Anniversary Summit<br />
<br />
Stephen Frost's 2013 PgCon Talk "Hacking PostgreSQL" (http://www.pgcon.org/2013/schedule/events/545.en.html) slides are here: http://snowman.net/~sfrost/hackingpg-pgcon13_20130506.pdf and his 2011 PgCon Talk "Review of Patch Reviewing" (http://www.pgcon.org/2011/schedule/events/368.en.html) slides are here: http://www.pgcon.org/2011/schedule/attachments/189_pg_patch_review_20110516.odp<br />
<br />
Andrew Dunstan's "How to be a Happy Hacker", video here: http://www.youtube.com/watch?v=yFDyM29tB6k<br />
<br />
Fabrízio Mello and Dickson Guedes's "Hacking PostgreSQL" youtube channel (PT-BR): https://www.youtube.com/channel/UCjq4gJg4tYy0NqEEo3t60IA<br />
<br />
=== Style Guide ===<br />
<br />
Working with our source code involves some general rules. These are documented in our core documentation: http://www.postgresql.org/docs/current/static/source.html<br />
<br />
At a high level, we use 4-space tabbed indenting, strict ANSI C comment formatting, and our variable and function naming convention is to match the surrounding code. For example, if you see that variables use a CamelCase style, match that. If they use underscores, or are lowercase, match that. Readability and consistency within a section of code is of greater importance than universal consistency. If a section of code is being substantially reworked, developers sometimes will rework private function names and variable names to match current convention. However, projects to simply rename variables for the sake of renaming them to match current notions of coding style will be rejected.<br />
<br />
=== Bug fixing ===<br />
<br />
Bugs are posted to the mailing list: pgsql-bugs@postgresql.org<br />
<br />
You can see an archive of reported bugs at: https://www.postgresql.org/list/pgsql-bugs/<br />
<br />
Typically, a bug is posted via our [http://www.postgresql.org/support/submitbug/ bug reporting form], and then members of this list respond. Of course, not every issue posted to this list is actually a bug. A good way to learn more about how this process works is to subscribe to the list and observe for a while, before jumping in. Our software is quite complex, and development work spans a couple decades. With that history, many changes and ideas have been suggested, attempted, failed and succeeded. Please don't be discouraged if your initial ideas are rejected, significantly refactored or long-time contributors provide critical feedback to ideas or code. If contributors are responding, it is likely that they are attempting to provide direction to your work and suggesting that you try a different approach, rather than give up.<br />
<br />
Another source of bug reports is the pgsql-general@postgresql.org mailing list. Subscribing and responding to issues posted to this list is a great way to become familiar with the common problems everyday users of PostgreSQL face. Many members of our development community are on this list and respond regularly to user issues. Reading archives, and attempting to respond to issues as they come up is a significant and useful contribution to our community. <br />
<br />
Generally speaking, bug fixes are back-ported to affected branches whenever possible.<br />
<br />
=== TODOs ===<br />
<br />
PostgreSQL maintains a TODO list on our wiki: http://wiki.postgresql.org/wiki/TODO<br />
<br />
We have attempted to organize issues and link in relevant discussions from our mailing list archives. Please read background information if it is available before attempting to resolve a TODO. If no background information is available, it is appropriate to post a question to pgsql-hackers@postgresql.org and request additional information and inquire about the status of any ongoing work on the problem. <br />
<br />
=== Searching the PostgreSQL archives ===<br />
<br />
Starting a project should always begin with a search of our PostgreSQL mailing list archives. You can start at: http://archives.postgresql.org<br />
<br />
Our project's policy is to discuss as much of ongoing code work in public, including any in-progress patches, whenever possible. You may find significant and useful, but uncommitted, code in our archives that can either inform you about current or past work, or reduce the amount of work needed to accomplish a task. There are also some changes to our core project that were rejected, but are perfectly reasonable solutions to problems. Bottom line; searching our archives is a critical skill any member of our community must learn to be effective.<br />
<br />
=== Brand new features ===<br />
<br />
If you have a brand new idea for PostgreSQL, and you've already looked through our archives, scanned the TODO list and reviewed the code relevant to the change you'd like to make, it's time to dive into the pgsql-hackers@postgresql.org mailing list. <br />
<br />
This is a very active list - posting 20-100 or more messages a day. If you are working on a project, it is prudent that you subscribe to the mailing list for at least the duration of the project. The list is quite large, and is made up of contributors and observers from the last 15 years of development effort.<br />
<br />
Bruce Momjian created a presentation on how to get your patch accepted by the PostgreSQL community: http://momjian.us/main/writings/pgsql/patch.pdf<br />
<br />
Your initial post for a new project to our mailing list should include: <br />
<br />
* A description of the problem to be solved, or feature to be implemented.<br />
* Links to relevant standards documentation.<br />
* A short description of the areas of source code to be modified.<br />
* Intended timeline for implementation.<br />
* Links to relevant previous discussions on PostgreSQL mailing lists about the problem or feature.<br />
* CC any members of the development community you'll be directly working with on the project.<br />
* Link to a wiki page on wiki.postgresql.org for ongoing status updates.<br />
<br />
Your best chance of success in implementing a new feature is getting early involvement from members of the development community. It is entirely appropriate and necessary to initiate conversations about features on the pgsql-hackers mailing list, and request feedback in public from those developers who have worked on relevant or similar features in the past. We encourage this communication, and most active developers are willing and interested in providing mentorship in public for work that you undertake.<br />
<br />
New features are always committed to 'master' (the development branch in the git repository). It is the project's policy not to add features to released major versions.<br />
<br />
=== Commitfest and timing ===<br />
<br />
The Commitfest process was designed to keep track of incoming patches, help synchronize development and commit effort, make the review process more obvious and transparent, and to encourage new people to participate in the development of PostgreSQL. <br />
<br />
Developers are required to submit patches to the pgsql-hackers@postgresql.org mailing list before they will be reviewed. Once the email with the patch has been archived on the postgresql.org site, the patch can be linked into the Commitfest application (https://commitfest.postgresql.org). Commitfests are scheduled to start on the 15th of the month, and occur about every two months. We have had about five commitfests per year since the process was created.<br />
<br />
Not all patches are required to go through the commitfest process, although most of any substantial size or requiring detailed code review will.<br />
<br />
For the last couple of years, getting a major feature into a major dot release generally requires getting the patch into the review queue sometime between July-December. Feature freeze may happen in February, and new features will not be accepted until the new major release is complete. (A description and commentary on this is available at: http://rhaas.blogspot.com/2010/07/concurrent-development.html)<br />
<br />
More information about Commitfests is at: http://wiki.postgresql.org/wiki/CommitFest<br />
<br />
== Participating in the development community ==<br />
<br />
Information about the mailing lists is available on the [[Mailing Lists]] page, also reproduced here<br />
for your convenience.<br />
<br />
=== Mailing List Culture === <br />
<br />
The PostgreSQL community exists world-wide on our mailing lists. As you dive into our community, you will encounter people with wildly varying levels of expertise for databases, software development and system administration. Excellent technical and professional advice is given freely on the mailing lists, but there is no guarantee or expectation that anyone can solve any particular problem. Flaming or personal attacks are not tolerated on our mailing lists, IRC or related forums connected to the postgresql.org site. <br />
<br />
Above all, the PostgreSQL community's expectation is that each person treats the other with respect, and grants each other the benefit-of-the-doubt when it comes to terse or critical language. The Robustness Principle applies to participation in our community: Be conservative in what you send; be liberal in what you accept.<br />
<br />
That said, our community is known for its aggressive and technical discussion style. For those unfamiliar with our community, our discussions can come across as insulting or overly critical. Please keep in mind that as a new contributor, you are encountering a new culture. Every culture has different rules about appropriate behavior, social norms, and expectations. Much like when learning a new language or visiting a new, unfamiliar country, your experiences while joining the PostgreSQL community will undoubtably include an "adjustment cycle". That can and likely will include high and low moments, friendly or otherwise.<br />
<br />
As with any encounter with unfamiliar culture, you must take some time to get acquainted. Take extra time to communicate clearly. Ask for clarification if you're confused or a response doesn't make sense to you. Be careful to avoid personal attacks if someone makes a mistake. If there's one universal constant, it is that everyone makes mistakes.<br />
<br />
Remember that we are a learning community, and with few exceptions, people are communicating with the intention of learning, sharing and refining ideas.<br />
<br />
=== Email etiquette mechanics ===<br />
<br />
Signatures that include "confidentiality notices" are useless in the context of PostgreSQL mailing lists. All messages to our lists are archived publicly, are immediately available worldwide and will not be removed from our archives. Please remove the notices from your email to our lists, particularly when posting code that you wish to be contributed or shared with our community.<br />
<br />
When replying, please be respectful and use appropriate quoting. See the [http://www.gweep.ca/~edmonds/usenet/ml-etiquette.html#SECTION00090000000000000000 Mailing List Etiquette FAQ] for details about what constitutes appropriate quoting when replying to mailing lists. <br />
<br />
Our mailing lists are generally set to "reply to sender", but the preferred way to participate in threads is to "reply all". That means that you'll include both the email address of the sender and the mailing list in your response. Also, please do not send HTML-enriched email to the mailing lists.<br />
<br />
Finally, our community generally does not "top post" in response to mailing list threads (See [https://en.wikipedia.org/wiki/Posting_style#Top-posting Wikipedia: Top Posting]for a definition of top posting).<br />
<br />
=== Using the discussion lists ===<br />
<br />
You can send an email directly to any of the mailing lists, without subscribing first. <br />
Any responses you receive or send should be sent to the list ''and'' CC correspondents.<br />
<br />
If you wish to receive the mail traffic sent to a list, you can join using the [https://lists.postgresql.org/ subscribe] form. You should receive an email in response from the mailing list manager software that handles the lists. If you wish change the various settings associated with your subscription or unsubscribe, you can do so using the [https://lists.postgresql.org/ web] interface.<br />
<br />
If you follow discussion through the web interface instead of subscribing,<br />
you will at some point wish to reply to a message sent to the list. '''Do not''' simply copy<br />
the message body and paste it into a message with a similar subject as a way to join the conversation.<br />
The mailing list relies on the "In-Reply-To" mail header in order to associate individual messages<br />
to their thread. If you don't know how to add this header manually, you should instead make use<br />
of the "raw" link [https://www.postgresql.org/message-id/CA+OCxoxAm_iEh21sxHiYzZxK9_3JjdzHLX4ib--ZbH73yfb_zA@mail.gmail.com provided] on every message view to download the message as a file<br />
(in mbox format), then import it into your favorite email client and use the usual "Reply All"<br />
way of responding to mailing list messages.<br />
<br />
=== Overview of discussion lists ===<br />
<br />
We have two primary lists related to usage and development of postgresql: [https://www.postgresql.org/list/pgsql-general/ pgsql-general@postgresql.org] and [https://www.postgresql.org/list/pgsql-hackers/ pgsql-hackers@postgresql.org]. pgsql-general is the correct place to start if you are having a problem with your PostgreSQL installation, need help with installation, are a software developer using PostgreSQL or have a general question about the project. pgsql-hackers is the correct place to go if you have a patch to submit, would like to learn more about how to develop PostgreSQL itself, or are interested in database internals. We also have the [https://www.postgresql.org/list/pgsql-novice/ pgsql-novice@postgresql.org] list if you would like to try posting a question a smaller list, with a group of people who are there specifically to answer very basic questions.<br />
<br />
If you are primarily interested in performance tuning, benchmarking or case studies from existing users regarding performance, [https://www.postgresql.org/list/pgsql-performance/ pgsql-performance@postgresql.org] is a great list to join.<br />
<br />
If you're interested in contributing to website maintenance or editing, or system administration of PostgreSQL infrastructure, join the [https://www.postgresql.org/list/pgsql-www/ pgsql-www@postgresql.org] mailing list.<br />
<br />
If you have something to contribute to the PostgreSQL documentation, join the [https://www.postgresql.org/list/pgsql-docs/ pgsql-docs@postgresql.org] mailing list. The documentation is always in need of copy editors, testers and example generation.<br />
<br />
If you're interested in staffing booths at conferences, giving talks at conferences, starting a user group or participating in a user group, join the [https://www.postgresql.org/list/pgsql-advocacy/ pgsql-advocacy@postgresql.org] mailing list. We are always in need of booth volunteers, speakers, case study writers and bloggers.<br />
<br />
If you think you've found a bug in PostgreSQL and are new to our project, we suggest you ask about it on the [https://www.postgresql.org/list/pgsql-general/ pgsql-general] list first, and then read our [http://www.postgresql.org/docs/current/static/bug-reporting.html Bug Submission Guidelines] and then go to our [http://www.postgresql.org/support/submitbug Bug Reporting form].<br />
<br />
We also have User Group mailing lists, language-specific lists and some other specific projects with their own communities. You can find a comprehensive list of these at: [http://www.postgresql.org/community/lists/ http://www.postgresql.org/community/lists/]<br />
<br />
=== Wiki ===<br />
<br />
Our wiki is active and frequently updated at: http://wiki.postgresql.org. We encourage contributors to add to the material there, and to make corrections to any errors found.<br />
<br />
=== Projects related to PostgreSQL ===<br />
<br />
There are hundreds of projects that are dependent upon, related to or extend PostgreSQL. You can find partial list of those projects at http://pgfoundry.org. Projects are written in a variety of languages, supported by international teams, and are generally fun to hack on. Spend some time exploring the ecosystem of projects around PostgreSQL to get a better feel for the variety and scope of ways that our database is used worldwide.<br />
<br />
=== Our philosophy about conversations/code in public ===<br />
<br />
The PostgreSQL project believes that public code review is the way to achieve our excellent quality of code. Therefore, patches for PostgreSQL must be discussed and submitted in public, and all patches are reviewed publicly. One exception to this policy is that security vulnerabilities may be disclosed to a private mailing list before fixes are published to help prevent exploitation of vulnerable users. <br />
<br />
Related to that, conversations about code, design decisions and user experience occur on the mailing lists. We try to steer all project conversations to the mailing lists so that there is a record of the thought process behind decisions, and so that all the participants and observers of our lists can learn from them.<br />
<br />
=== Resources on contributing to PostgreSQL ===<br />
<br />
* Submitting A Patch: http://wiki.postgresql.org/wiki/Submitting_a_Patch<br />
* Greg Smith, Exposing PostgreSQL Internals with User-Defined Functions http://www.pgcon.org/2010/schedule/attachments/142_HackingWithUDFs.pdf<br />
* Josh Berkus, 50 ways to contribute to PostgreSQL http://www.slideshare.net/PGExperts/50-ways-to-love-your-project<br />
* Laetitia Avrot, De-mystifying contributing to PostgreSQL https://www.slideshare.net/LtitiaAvrot/demystifying-contributing-to-postgresql<br />
<br />
== Acknowledgments ==<br />
<br />
Thanks to Dave Page for feedback, editing and lots of questions.<br />
<br />
[[Category:Community]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Brazil_Talks_2019&diff=34111PostgreSQL Conference Brazil Talks 20192019-09-25T14:42:43Z<p>Fabriziomello: </p>
<hr />
<div>[http://www.pgconf.com.br PGConf.Brasil] took place in Sao Paulo, Brazil, from 2019-08-01 to 2019-08-03.<br />
<br />
<br />
== Thursday ==<br />
== Friday ==<br />
<br />
{| class="wikitable"<br />
|'''Time'''||'''Room'''||'''Speaker'''||'''Title (Link to slides)'''<br />
|-<br />
| 09:00 - 10:00 || I || Claudio Bonel || Governança de Dados. O que é? O que come? Onde Vive?<br />
|-<br />
| 09:00 - 10:00 || II || Daniel Naves de Carvalho || [http://danielnc.github.io/talks/pgconf.brasil_2019/ Escalando PostgreSQL 11]<br />
|-<br />
| 09:00 - 10:00 || III || Andreas Scherbaum || [https://andreas.scherbaum.la/writings/Tour_de_Data_Types_-_PGConf_Brazil_2019.pdf Tour de Data Types: VARCHAR2 or CHAR(255)?]<br />
|-<br />
| 10:00 - 11:00 || I || Álvaro Justen || [https://t.co/VeV2JXXHZE?amp=1 Dados abertos, Python e PostgreSQL: a combinação perfeita]<br />
|-<br />
| 10:00 - 12:00 || II || Kirk Roybal || Basics of PostgreSQL Security<br />
|-<br />
| 10:00 - 11:00 || III || Simon Riggs || Postgres Project Update<br />
|-<br />
| 11:00 - 12:00 || I || Gilberto Castillo || [[Media:PresentacionPGBrasil1.pdf|PostgreSQL Diploma: Experience in Cuba]]<br />
|-<br />
| 11:00 - 11:30 || III || Luciane Pinheiro || [https://speakerdeck.com/lucianepinheiro/vendo-o-elefante-crescer-grandes-elefantes-do-espaco-atraves-do-tempo Vendo o elefante crescer: grandes elefantes do espaço através do "tempo"]<br />
|-<br />
| 11:30 - 12:00 || III || Luis Fernando Bueno || [https://www.slideshare.net/luisfer2011/apresenta-pgrouting PGRouting - Guia Prático de Uso]<br />
|-<br />
| 13:30 - 14:30 || I || --- || Fishbowl - PostgreSQL para pequenos, médios e grandes negócios<br />
|-<br />
| 13:30 - 14:30 || II || Fernando Franquini || [[Media:Pgconfbr_2019_Meus_Casos_e_Cases_com_Particionamento.pdf|Meus casos e cases com Particionamento]]<br />
|-<br />
| 13:30 - 14:00 || III || Álvaro Herrera || [[Media:Progress-report.pdf|Postgres Monitoring in Progress]]<br />
|-<br />
| 14:30 - 15:30 || I || Christiane Faleiro Sidney || [[Media:PGConf.Brasil_2019_-_Christiane_Faleiro.pdf|Anonimize seus dados com PostgreSQL]]<br />
|-<br />
| 14:30 - 15:30 || II || Cleysson Lima e Heron Bonfim || [https://www.slideshare.net/CleyssonLima/gerenciamento-de-backup-e-recovery-com-barman-pgconfbrasil2019 Gerenciamento de backup e recovery com o Barman, mesmo em ambientes críticos]<br />
|-<br />
| 14:30 - 15:30 || III || Euler Taveira || [https://www.slideshare.net/eulerto/krahodb Replicação multi-master made in Brazil]<br />
|-<br />
| 16:30 - 17:00 || I || Lucas Viecelli || [[Media:Modelagem.pdf|Anti-Patterns para modelagem no PostgreSQL]]<br />
|-<br />
| 16:00 - 17:00 || II || Lucio Chiessi || [https://github.com/chiessilmb/Palestras/blob/master/PGConf.BR%202019.Autovacuum.pdf O autovacuum não é o seu inimigo]<br />
|-<br />
| 16:00 - 17:00 || III || Sanyo Capobiango Soares de Moura || [https://speakerdeck.com/sanyo/consultas-em-repositorios-comprimidos-com-paralelismo-atraves-de-foreign-data-wrappers Consultas em repositórios compactados, com paralelismo, através de Foreign Data Wrappers]<br />
|-<br />
| 17:00 - 18:00 || I || Raul Diego de Queiroz Oliveira || [https://pt.slideshare.net/rauldoliveira/arquitetura-de-memria-do-postgresql Arquitetura de Memória do PostgreSQL]<br />
|-<br />
| 17:00 - 19:00 || II || Sebastian Webber || [https://speakerdeck.com/sebastianwebber/monitorando-seu-banco-na-nuvem Monitorando seu banco na nuvem]<br />
|-<br />
| 17:00 - 18:00 || III || Dickson S. Guedes || [https://speakerdeck.com/guedes/usando-o-postgresql-para-prever-a-compra-de-clientes Usando Postgres para prever compras dos clientes]<br />
|-<br />
| 18:00 - 19:00 || I || William Felipe Welter || [[Media:DatabaseMigrationSeeds.pdf|Database Migrations e Seeds]]<br />
|-<br />
| 18:00 - 19:00 || III || Martín Marqués || [https://github.com/martinmarques/conference_talks/blob/master/2019/PgConf_Brazil/freeze.pdf Transaction ID wraparound and avoiding the performance penalties from autovacuum tuple freezing]<br />
|-<br />
|}<br />
<br />
== Saturday ==<br />
<br />
{| class="wikitable"<br />
|'''Time'''||'''Room'''||'''Speaker'''||'''Title (Link to slides)'''<br />
|-<br />
| 09:00 - 10:00 || I || Caroline Dantas Silva || [https://speakerdeck.com/caaddss/pgconf-dot-brasil-2019 Iniciando com PG em Data Science para dados públicos]<br />
|-<br />
| 09:00 - 10:00 || II || Fernando Laudares Camargos || [[Media:PostgreSQL_and_Huge_pages_-_PGConf.2019.pdf|PostgreSQL e HugePages: trabalhando com abundância de memória em servidores modernos]]<br />
|-<br />
| 09:00 - 10:00 || III || Rodrigo Crespi || [[Media:Pwsh_postgresql.pdf|Administrando PostgreSQL com PowerShell]]<br />
|-<br />
| 10:00 - 11:00 || I || Danielle Monteiro || [http://db4beginners.com/download/pgconf-persistencia-poliglota-no-postgresql Persistência Poliglota com PostgreSQL]<br />
|-<br />
| 10:00 - 11:00 || II || Gerdan Santos e Davy Alvarenga Machado || [https://www.slideshare.net/mobile/GerdanSantos/pgconf2019-jit-one-more-time?from_m_app=ios JIT one more time]<br />
|-<br />
| 10:00 - 11:00 || III || Fábio Telles Rodriguez || [https://speakerdeck.com/fabiotr/postgres-e-a-historia-dos-bancos-de-dados-relacionais Postgres e a história dos Bancos de dados Relacionais]<br />
|-<br />
| 11:00 - 11:30 || I || Camilla Martins || [https://docs.google.com/presentation/d/1YKqlgLp_TnT73PGxkjD4C9_03VGqsq9ur0HP_f_UWlw Monitoramento de Postgres na RDS com Graylog]<br />
|-<br />
| 11:00 - 12:00 || II || Rafael Thofehrn Castro || [[Media:PG_Hooks.pdf|Desbravando PostgreSQL Hooks]] / [[Media:Pgconf.zip|Códigos de exemplo]]<br />
|-<br />
| 11:00 - 12:00 || III || Raissa Menezes Korehisa || [https://drive.google.com/file/d/1gRr1Z1epELQgKKlk8Yw83ftsLb13u_kR/view Mineração de dados textuais com PostgreSQL]<br />
|-<br />
| 13:30 - 15:30 || I || Matheus de Oliveira || [http://matheusoliveira.s3-website-us-east-1.amazonaws.com/presentations/pgconfbr-2019-fts/#/ Levando Full Text Search para outro nível, _fuzzy to the rescue_!]<br />
|-<br />
| 13:30 - 14:30 || II || Luis Filipe Ramos de Macedo || [[Media:PGConf.Brasil_2019_-_Luis_Macedo.pdf|O elefante nas nuvens!]]<br />
|-<br />
| 13:30 - 14:30 || III || Fabrízio de Royes Mello || [https://speakerdeck.com/fabriziomello/postgresql-upgrade-like-a-boss PostgreSQL Upgrade Like A Boss]<br />
|-<br />
| 14:30 - 15:30 || II || Everaldo Canuto || [[Media:PGConf.Brasil_2019_-_Everaldo_Canuto.pdf|PostgreSQL: DBaaS or not DBaaS?]]<br />
|-<br />
| 14:30 - 15:30 || III || Paulo Singaretti || [https://www.slideshare.net/secret/dCFhR25aFpEYXs Do PostgreSQL ao Data Lake utilizando Kafka/Debezium]<br />
|-<br />
| 16:00 - 17:00 || I || Erivelton Vichroski || [https://speakerdeck.com/eriveltonvichroski/banco-relacional-ou-nosql-para-escalar-series-temporais-use-o-postgresql-pgconf-dot-brasil-dot-2019 Banco Relacional ou NoSQL para escalar Séries Temporais? Use o PostgreSQL.]<br />
|-<br />
| 16:00 - 17:00 || II || Glauco de Sousa Torres || [https://www.slideshare.net/glaucosousatorres/como-o-ifood-administra-seus-bancos-postgresql-em-ec2 Como o iFood administra seus bancos PostgreSQL em EC2]<br />
|-<br />
| 16:00 - 17:00 || III || William Ivanski || [[Media:Pgconfbr_2019_HA.pdf|Construindo um cluster de alta disponibilidade]]<br />
|-<br />
| 17:00 - 18:00 || I || Marcos Pegoraro || [[Media:Respostas_imutáveis_ao_longo_do_tempo.pdf|Respostas imutáveis ao longo do tempo]]<br />
|-<br />
| 17:00 - 18:00 || II || Danielle Monteiro || [http://db4beginners.com/download/pgconf-sql-server-x-postgresql SQL Server x Postgres]<br />
|-<br />
| 17:00 - 18:00 || III || Dimitri Fontaine || [https://tapoueh.org/images/confs/TAOP.pdf The Art of PostgreSQL]<br />
|-<br />
|}<br />
<br />
[[Category:PostgreSQL Events]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PostgreSQL_Conference_Brazil_Talks_2019&diff=33903PostgreSQL Conference Brazil Talks 20192019-08-07T12:08:12Z<p>Fabriziomello: </p>
<hr />
<div>[http://www.pgconf.com.br PGConf.Brasil] took place in Sao Paulo, Brazil, from 2019-08-01 to 2019-08-03.<br />
<br />
<br />
== Thursday ==<br />
== Friday ==<br />
<br />
{| class="wikitable"<br />
|'''Time'''||'''Room'''||'''Speaker'''||'''Title (Link to slides)'''<br />
|-<br />
| 09:00 - 10:00 || I || Claudio Bonel || Governança de Dados. O que é? O que come? Onde Vive?<br />
|-<br />
| 09:00 - 10:00 || II || Daniel Naves de Carvalho || Escalando PostgreSQL 11<br />
|-<br />
| 09:00 - 10:00 || III || Andreas Scherbaum || Tour de Data Types: VARCHAR2 or CHAR(255)?<br />
|-<br />
| 10:00 - 11:00 || I || Álvaro Justen || Dados abertos, Python e PostgreSQL: a combinação perfeita<br />
|-<br />
| 10:00 - 12:00 || II || Kirk Roybal || Basics of PostgreSQL Security<br />
|-<br />
| 10:00 - 11:00 || III || Simon Riggs || Postgres Project Update<br />
|-<br />
| 11:00 - 12:00 || I || Gilberto Castillo || PostgreSQL Diploma: Experience in Cuba<br />
|-<br />
| 11:00 - 11:30 || III || Luciane || Vendo o elefante crescer: grandes elefantes do espaço através do "tempo"<br />
|-<br />
| 11:30 - 12:00 || III || Luis Fernando Bueno || PGRouting - Guia Prático de Uso<br />
|-<br />
| 13:30 - 14:30 || I || Fulano || Fishbowl - PostgreSQL para pequenos, médios e grandes negócios<br />
|-<br />
| 13:30 - 14:30 || II || Fernando Franquini || [[Media:Pgconfbr_2019_Meus_Casos_e_Cases_com_Particionamento.pdf|Meus casos e cases com Particionamento]]<br />
|-<br />
| 13:30 - 14:00 || III || Álvaro Herrera || [[Media:Progress-report.pdf|Postgres Monitoring in Progress]]<br />
|-<br />
| 14:30 - 15:30 || I || Christiane Faleiro Sidney || Anonimize seus dados com PostgreSQL<br />
|-<br />
| 14:30 - 15:30 || II || Cleysson Lima e Heron Bonfim || [https://www.slideshare.net/CleyssonLima/gerenciamento-de-backup-e-recovery-com-barman-pgconfbrasil2019 Gerenciamento de backup e recovery com o Barman, mesmo em ambientes críticos]<br />
|-<br />
| 14:30 - 15:30 || III || Euler Taveira || [https://www.slideshare.net/eulerto/krahodb Replicação multi-master made in Brazil]<br />
|-<br />
| 16:30 - 17:00 || I || Lucas Viecelli || Anti-Patterns para modelagem no PostgreSQL<br />
|-<br />
| 16:00 - 17:00 || II || Lucio Chiessi || O autovacuum não é o seu inimigo<br />
|-<br />
| 16:00 - 17:00 || III || Sanyo Capobiango Soares de Moura || Consultas em repositórios compactados, com paralelismo, através de Foreign Data Wrappers<br />
|-<br />
| 17:00 - 18:00 || I || Raul Diego de Queiroz Oliveira || Arquitetura de Memória do PostgreSQL<br />
|-<br />
| 17:00 - 19:00 || II || Sebastian Webber || Monitorando seu banco na nuvem<br />
|-<br />
| 17:00 - 18:00 || III || Dickson S. Guedes || Usando Postgres para prever compras dos clientes<br />
|-<br />
| 18:00 - 19:00 || I || William Felipe Welter || Database Migrations e Seeds<br />
|-<br />
| 18:00 - 19:00 || III || Martín Marqués || Transaction ID wraparound and avoiding the performance penalties from autovacuum tuple freezing<br />
|-<br />
|}<br />
<br />
== Saturday ==<br />
<br />
{| class="wikitable"<br />
|'''Time'''||'''Room'''||'''Speaker'''||'''Title (Link to slides)'''<br />
|-<br />
| 09:00 - 10:00 || I || Caroline Dantas Silva || Iniciando com PG em Data Science para dados públicos<br />
|-<br />
| 09:00 - 10:00 || II || Fernando Laudares Camargos || PostgreSQL e HugePages: trabalhando com abundância de memória em servidores modernos<br />
|-<br />
| 09:00 - 10:00 || III || Rodrigo Crespi || Administrando PostgreSQL com PowerShell<br />
|-<br />
| 10:00 - 11:00 || I || Danielle Monteiro || Persistência Poliglota com PostgreSQL<br />
|-<br />
| 10:00 - 11:00 || II || Davy Alvarenga Machado || JIT one more time<br />
|-<br />
| 10:00 - 11:00 || III || Fábio Telles Rodriguez || [https://speakerdeck.com/fabiotr/postgres-e-a-historia-dos-bancos-de-dados-relacionais Postgres e a história dos Bancos de dados Relacionais]<br />
|-<br />
| 11:00 - 11:30 || I || Camilla Martins || Monitoramento de Postgres na RDS com Graylog<br />
|-<br />
| 11:00 - 12:00 || II || Rafael Thofehrn Castro || Desbravando PostgreSQL Hooks<br />
|-<br />
| 11:00 - 12:00 || III || Raissa Menezes Korehisa || Mineração de dados textuais com PostgreSQL<br />
|-<br />
| 13:30 - 15:30 || I || Matheus de Oliveira || Levando Full Text Search para outro nível, _fuzzy to the rescue_!<br />
|-<br />
| 13:30 - 14:30 || II || Luis Filipe Ramos de Macedo || O elefante nas nuvens!<br />
|-<br />
| 13:30 - 14:30 || III || Fabrízio de Royes Mello || [https://speakerdeck.com/fabriziomello/postgresql-upgrade-like-a-boss PostgreSQL Upgrade Like A Boss]<br />
|-<br />
| 14:30 - 15:30 || II || Everaldo Canuto || PostgreSQL: DBaaS or not DBaaS?<br />
|-<br />
| 14:30 - 15:30 || III || Paulo Singaretti || Do PostgreSQL ao Data Lake utilizando Kafka|Debezium<br />
|-<br />
| 16:00 - 17:00 || I || Erivelton Vichroski || [https://speakerdeck.com/eriveltonvichroski/banco-relacional-ou-nosql-para-escalar-series-temporais-use-o-postgresql-pgconf-dot-brasil-dot-2019 Banco Relacional ou NoSQL para escalar Séries Temporais? Use o PostgreSQL.]<br />
|-<br />
| 16:00 - 17:00 || II || Glauco de Sousa Torres || Como o iFood administra seus bancos PostgreSQL em EC2<br />
|-<br />
| 16:00 - 17:00 || III || William Ivanski || [[Media:Pgconfbr_2019_HA.pdf|Construindo um cluster de alta disponibilidade]]<br />
|-<br />
| 17:00 - 18:00 || I || Marcos Pegoraro || Respostas imutáveis ao longo do tempo<br />
|-<br />
| 17:00 - 18:00 || II || Danielle Monteiro || SQL Server x Postgres<br />
|-<br />
| 17:00 - 18:00 || III || Dimitri Fontaine || The Art of PostgreSQL<br />
|-<br />
|}<br />
<br />
[[Category:PostgreSQL Events]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=32737Events2018-11-20T18:22:19Z<p>Fabriziomello: /* PostgreSQL Events */</p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGConf.EU 2018 || [https://2018.pgconf.eu/ PGConf.EU 2018] || October 23 - 26 || Portugal || Lisbon || Talks, Tutorials<br />
|-<br />
| PGDay.Seoul 2018 || [http://pgday.postgresql.kr PGDay.Seoul 2018] || November 3 || South Korea || Seoul || Talks, Training<br />
|-<br />
| 2Q PGConf 2018 || [http://www.2qpgconf.com 2Q PGConf 2018] || December 04 - 05, 2018 || US || Chicago, IL || Talks, Training<br />
|-<br />
| [https://wiki.postgresql.org/wiki/PGConf.Asia_2018 PG Conference Asia 2018] || [http://www.pgconf.asia/EN/2018/ PGConf.Asia 2018] || Dec 10 - 12, 2018 || Japan || Tokyo (Akihabara) || Talks, Tutorials, [[PGConf.ASIA2018_Developer_Unconference|Unconference]]<br />
|-<br />
| PGConf.Russia 2019 || [https://pgconf.ru PGConf.Russia 2019] || Feb 4 - 6, 2019 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGConf.Brasil 2019 || [http://www.pgconf.com.br/2019 PGConf.Brasil 2019] || August 02 - 03, 2019 || Brazil || São Paulo || Talks, Tutorials<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2018'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| pgconf.de 2018 || [http://2018.pgconf.de/ pgconf.de] || April 13th, 2018 || Germany || Berlin || Talks<br />
|-<br />
| PostgresConf US: National 2018 || [https://postgresconf.org/conferences/2018 PostgresConf US] || April 16 - 20, 2018 || US || Jersey City || Talks, Tutorials, Summit, Community Workshops, Career Fair<br />
|-<br />
| Swiss PGDay 2018 || [https://www.pgday.ch/2018/ Swiss PGDay 2018] || June 29 || CH || Rapperswil (near Zurich) || Talks<br />
|-<br />
| PGConf UK 2018 || [http://www.pgconf.uk PGConf UK 2018] || July 02 - 03 || UK || London || Talks, Training<br />
|-<br />
| PGConf.Brasil 2018 || [http://www.pgconf.com.br PGConf.Brasil 2018] || August 03 - 04, 2018 || Brazil || São Paulo || Talks, Tutorials<br />
|-<br />
| PostgresOpen 2018 || [https://2018.postgresopen.org/ PostgresOpen 2018] || September 05 - 07 || US || San Francisco || Talks, Tutorials<br />
|-<br />
| PostgresConf South Africa 2018 || [https://postgresconf.org/conferences/SouthAfrica2018 PostgresConf South Africa 2018] || October 09 - 10 || South Africa || Johannesburg || Talks, Tutorials<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2017'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM & FOSDEM PGDay 2017 || [https://2017.fosdempgday.org/ 2017.fosdempgday.org] || Feb 3 - 5, 2017 || Belgium || Brussels || [[FOSDEM_2017|Talks]], Booth<br />
|-<br />
| PGDay.Israel 2017 || [http://www.pgday.org.il pgday.org.il] || Mar 2, 2017 || Israel || Tel Aviv || Talks<br />
|-<br />
| PGConf.Russia 2017 || [http://www.pgconf.ru PGConf.Ru] || Mar 15 - 17, 2017 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2017 || [http://2017.nordicpgday.org/ 2017.nordicpgday.org] || Mar 21, 2017 || Sweden || Stockholm || Talks<br />
|-<br />
| pgDay Paris 2017 || [http://2017.pgday.paris/ 2017.pgday.paris] || Mar 23, 2017 || France || Paris || Talks<br />
|-<br />
| PGConf US 2017 || [http://www.pgconf.us/ www.pgconf.us] || March 28 - 31, 2017 || USA || Jersey City || Training, Talks, Summit<br />
|-<br />
| PGCon 2017 || [http://www.pgcon.org/2017/ www.pgcon.org] || May 23 - 26, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PgDay FR || [http://pgday.fr/ pgday.fr/] || June 8, 2017 || France || Toulouse || Talks<br />
|-<br />
| Swiss PGDay 2017 || [http://www.pgday.ch/ pgday.ch] || June 30, 2017 || Switzerland || Zürich (Rapperswil) || Talks<br />
|-<br />
| PgDay UK || [http://www.pgconf.uk/ pgconf.uk] || July 3 - 4, 2017 || UK || London || Training, Talks<br />
|-<br />
| PGConf.Brasil 2017 || [http://www.pgconf.com.br PGConf.Brasil] || July 10 - 14, 2017 || Brazil || Online || Talks<br />
|-<br />
| PGConf Local: Philly 2017 || [https://www.pgconf.us/conferences/Philly2017 PGConf Philly] || July 13 - 14, 2017 || US || Philadelphia || Talks, Tutorials<br />
|-<br />
| PostgresOpen 2017 || [http://2017.postgresopen.org PostgresOpen 2017] || September 6 - 8, 2017 || US || Silicon Valley || Talks, Tutorials<br />
|-<br />
| PGBR 2017 || [http://pgbr.postgresql.org.br/2017 PGBR2017] || September 14 - 16, 2017 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PG Conference Europe 2017 || [http://2017.pgconf.eu/ 2017.pgconf.eu] || October 24-27, 2017 || Poland || Warsaw || Training, [https://www.postgresql.eu/events/sessions/pgconfeu2017/ Talks]<br />
|-<br />
| PGDay.Seoul 2017 || [http://pgday.postgresql.kr Pgday.Seoul 2017] || November 4, 2017 || South Korea || Seoul || Talks, Training<br />
|-<br />
| 2ndQuadrant PostgreSQL Conference 2017 || [http://www.2qpgconf.com 2Q PGconf New York] || November 6 - 7, 2017 || US || New York City || Training, Talks<br />
|-<br />
| 2ndQuadrant PostgreSQL Conference 2017 || [http://www.2qpgconf.com 2Q PGconf Chicago] || November 9, 2017 || US || Chicago || Talks<br />
|-<br />
| PGConf Local: Seattle 2017 || [https://www.pgconf.us/conferences/Seattle2017 PGConf Seattle] || November 13 - 14, 2017 || US || Seattle || Talks, Tutorials<br />
|-<br />
| PGConf Local: Austin 2017 || [https://www.pgconf.us/conferences/Austin2017 PGConf Austin] || December 4 - 5, 2017 || US || Austin || Talks, Tutorials<br />
|-<br />
| [https://wiki.postgresql.org/wiki/PGConf.Asia_2017 PG Conference Asia 2017] || [http://www.pgconf.asia PGConf.Asia] || Dec 4 - 6, 2017 || Japan || Tokyo (Akihabara) || Talks, Tutorials, [[PGConf.ASIA2017_Developer_Unconference|Unconference]]<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2016'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2016 || [http://fosdem2016.pgconf.eu/ fosdem2016.pgconf.eu] || January 29/31, 2016 || Belgium || Brussels || [[FOSDEM_2016|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/2016 PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| pgDay Paris 2016 || [http://www.pgday.paris/ www.pgday.paris] || March 31, 2016 || France || Paris || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGCon 2016 || [http://www.pgcon.org/2016/ www.pgcon.org] || May 17 - 21, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PG Day France 2016 || [http://www.pgday.fr/ www.pgday.fr] || May 31, 2016 || France || Lille || Talks<br />
|-<br />
| PGDay UK 2016 || [http://www.pgconf.uk/ www.pgconf.uk] || July 04 - 05, 2016 || UK || London || Training, Talks<br />
|-<br />
| PG Day'16 Russia || [http://pgday.ru/en/2016 pgday.ru] || July 05 - 08, 2016 || Russia || St. Petersburg || Training, Talks, 20th anniversary celebration<br />
|-<br />
| PostgresOpen 2016 || [http://2016.postgresopen.org PostgresOpen 2016] || Sep 13 - 15, 2016 || Texas, US || Dallas || [[Postgres_Open_2016|Talks]], Tutorials<br />
|-<br />
| PG Day'16 Bolivia || [https://wiki.postgresql.org/wiki/PGDay_Bolivia_2016 PgDay Bolivia] || Octubre 07 - 08, 2016 || Bolivia || Santa Cruz || Talks<br />
|-<br />
| PGDay.Seoul 2016 || [http://pgday.postgresql.kr PGDay.Seoul 2016] || Oct 15, 2016 || South Korea || Seoul || Talks<br />
|-<br />
| PG Conference Europe 2016 || [http://2016.pgconf.eu/ 2016.pgconf.eu] || November 1-4, 2016 || Estonia || Tallinn || Training, [[PostgreSQL Conference Europe Talks 2016|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2016 || [http://pgconfsv.com PGConf SV] || Nov 14 - 16, 2016 || California, US || SF Bay Area || Talks, Tutorials<br />
|-<br />
| [https://wiki.postgresql.org/wiki/PGConf.Asia_2016 PG Conference Asia 2016] || [http://www.pgconf.asia/EN/2016/ PGConf.Asia] || Dec 1 - 3, 2016 || Japan || Tokyo (Akihabara) || [http://www.pgconf.asia/EN/2016/program/ Talks], [http://www.pgconf.asia/EN/2016/tutorial/ Tutorials], [[PGConf.ASIA2016_Developer_Unconference|Unconference]]<br />
|-<br />
| CHAR(16) || [http://charconference.org/ CHAR(16)] || Dec 6 - 7, 2016 || USA || New York || Talks, Training<br />
|-<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2015 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks, Training<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || [[Postgres_Open_2015|Talks]]<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/2015 PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Foreign_data_wrappers&diff=31699Foreign data wrappers2018-04-06T21:16:46Z<p>Fabriziomello: /* Exotic Wrappers */</p>
<hr />
<div>= Foreign Data Wrappers =<br />
In 2003, a new specification called [[SQL/MED]] ("SQL Management of External Data") was added to the SQL standard. It is a standardized way of handling access to remote objects from SQL databases. In 2011, PostgreSQL 9.1 was released with read-only support of this standard, and in 2013 write support was added with PostgreSQL 9.3.<br />
<br />
There are now a variety of Foreign Data Wrappers (FDW) available which enable PostgreSQL Server to different remote data stores, ranging from other SQL databases through to flat file. This page list some of the wrappers currently available. Another [https://pgxn.org/tag/fdw/ fdw list] can be found at [https://pgxn.org/ the PGXN website].<br />
<br />
Please keep in mind that most of these wrappers are '''not officially supported by the PostgreSQL Global Development Group''' (PGDG) and that some of these projects are '''still in Beta''' version. Use carefully!<br />
<br />
<br />
== Generic SQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|ODBC<br />
|Native<br />
|<br />
|[https://github.com/ZhengYang/odbc_fdw github]<br />
|[https://pgxn.org/dist/odbc_fdw/ PGXN]<br />
|[http://www.postgresonline.com/journal/archives/249-ODBC-Foreign-Data-wrapper-to-query-SQL-Server-on-Window---Part-2.html example] <br />
|Does not compile with PostgreSQL >= 9.2!<br />
|-<br />
|ODBC<br />
|Native<br />
|<br />
|[https://github.com/CartoDB/odbc_fdw github]<br />
|<br />
|<br />
|CartoDB took over active development of the ODBC FDW for PG 9.5+ <br />
|-<br />
|JDBC<br />
|Native<br />
|<br />
|[https://github.com/atris/JDBC_FDW github]<br />
|<br />
|<br />
| Not maintained ?<br />
|-<br />
|JDBC2<br />
|Native<br />
|<br />
|[https://github.com/heimir-sverrisson/jdbc2_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
| [http://www.sqlalchemy.org/ SQL_Alchemy]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN]<br />
| [http://multicorn.org/foreign-data-wrappers/#sqlalchemy-foreign-data-wrapper documentation]<br />
| Can be used to access data stored in any database supported by the sqlalchemy python toolkit.<br />
|-<br />
| VirtDB<br />
| Native<br />
| GPL<br />
| [https://github.com/virtdb/virtdb-fdw GitHub]<br />
|<br />
|<br />
| A generic FDW to access VirtDB data sources (SAP ERP, Oracle RDBMS)<br />
|}<br />
<br />
== Specific SQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[https://www.postgresql.org/ PostgreSQL]<br />
|Native<br />
|PostgreSQL<br />
|[https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/postgres_fdw;hb=HEAD git.postgresql.org]<br />
|<br />
|[https://www.postgresql.org/docs/current/static/postgres-fdw.html documentation]<br />
| <br />
|-<br />
|[https://www.oracle.com/index.html Oracle]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/laurenz/oracle_fdw github]<br />
|[https://pgxn.org/dist/oracle_fdw/ PGXN]<br />
|[http://laurenz.github.io/oracle_fdw/ website]<br />
| <br />
|-<br />
|[https://www.mysql.com/ MySQL]<br />
|Native<br />
|<br />
|[https://github.com/EnterpriseDB/mysql_fdw github]<br />
|[https://pgxn.org/dist/mysql_fdw/ PGXN]<br />
|[https://www.enterprisedb.com/node/3385 example]<br />
|An early version of the Foreign Data Wrapper for MySQL that supports PostgreSQL 9.1 and above: <br />
|-<br />
|[https://www.mysql.com/ MySQL]<br />
|Native<br />
|<br />
|[https://github.com/EnterpriseDB/mysql_fdw github]<br />
|[https://pgxn.org/dist/mysql_fdw/ PGXN]<br />
|[https://www.enterprisedb.com/blog/new-oss-tool-links-postgres-and-mysql example]<br />
|An updated FDW for MySQL that support PostgreSQL 9.3 and above <br />
|-<br />
|Informix<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/credativ/informix_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
|Firebird<br />
|Native<br />
|<br />
|[https://github.com/ibarwick/firebird_fdw/ github]<br />
|[https://pgxn.org/dist/firebird_fdw/ PGXN]<br />
|<br />
| currently work-in-progress.<br />
|-<br />
|SQLite<br />
|Native<br />
|<br />
|[https://github.com/gleu/sqlite_fdw github]<br />
|<br />
|<br />
|An FDW for SQLite3 (read-only)<br />
|-<br />
|Sybase / MS SQL Server<br />
|Native<br />
|<br />
|[https://github.com/tds-fdw/tds_fdw github]<br />
|[https://pgxn.org/dist/tds_fdw/ PGXN]<br />
|<br />
|An FDW for Sybase and Microsoft SQL server<br />
|-<br />
|[https://www.monetdb.org/ MonetDB]<br />
|Native<br />
|<br />
|[https://github.com/snaga/monetdb_fdw github]<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== NoSQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[https://cloud.google.com/bigtable/ BigTable or HBase]<br />
|[https://github.com/posix4e/rpgffi Native Rust Binding (RPGFFI)]<br />
|MIT<br />
|[https://github.com/durch/google-bigtable-postgres-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://cassandra.apache.org/ Cassandra]<br />
|[http://multicorn.org/ Multicorn]<br />
|MIT<br />
|[https://github.com/rankactive/cassandra-fdw Github]<br />
|[https://rankactive.com/resources/postgresql-cassandra-fdw Rankactive]<br />
|<br />
|<br />
|-<br />
| Cassandra2<br />
| Native<br />
| MIT<br />
|[https://github.com/jaiminpan/cassandra2_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|-<br />
| [http://cassandra.apache.org Cassandra]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
|[https://github.com/wjch-krl/pgCassandra Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://clickhouse.yandex/ ClickHouse]<br />
|[http://multicorn.org/ Multicorn]<br />
|BSD<br />
|[https://github.com/Infinidat/infi.clickhouse_fdw/ Github]<br />
|<br />
|[https://github.com/Infinidat/infi.clickhouse_fdw/blob/master/README.md README]<br />
|<br />
|-<br />
|[http://couchdb.apache.org/ CouchDB]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/ZhengYang/couchdb_fdw Github]<br />
|[https://pgxn.org/dist/couchdb_fdw/ PGXN]<br />
|<br />
| Original version<br />
|-<br />
|[http://couchdb.apache.org/ CouchDB]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/golgauth/couchdb_fdw Github]<br />
|<br />
|<br />
| golgauth version (9.1 - 9.2+ compatible)<br />
|-<br />
| [https://github.com/griddb/griddb_nosql GridDB]<br />
| Native<br />
| PostgreSQL <br />
| [https://github.com/pgspider/griddb_fdw Github]<br />
|<br />
| [https://github.com/pgspider/griddb_fdw/blob/master/README.md README]<br />
|<br />
|-<br />
|[http://fallabs.com/kyototycoon/ Kyoto Tycoon ]<br />
|Native<br />
|MIT<br />
|[https://github.com/cloudflare/kt_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://www.mongodb.com/ MongoDB]<br />
|Native<br />
|GPL3+<br />
|[https://github.com/EnterpriseDB/mongo_fdw Github]<br />
|[https://pgxn.org/dist/mongo_fdw/ PGXN]<br />
|[https://github.com/EnterpriseDB/mongo_fdw/blob/master/README.md README]<br />
|EDB version<br />
|-<br />
|[https://www.mongodb.com/ MongoDB]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/dwa/mongoose_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://www.mongodb.com/ MongoDB]<br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/asya999/yam_fdw Github]<br />
|<br />
|<br />
| Yet Another Postgres FDW for MongoDB<br />
|-<br />
|[https://neo4j.com/ Neo4j]<br />
|Native<br />
|?<br />
|[https://github.com/nuko-yokohama/neo4j_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://quasar-analytics.org/ Quasar]<br />
|Native<br />
|Apache<br />
|[https://github.com/quasar-analytics/quasar-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://redis.io/ Redis]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/pg-redis-fdw/redis_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://redis.io/ Redis]<br />
| Native<br />
| BSD<br />
| [https://github.com/nahanni/rw_redis_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://rethinkdb.com/ RethinkDB]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/rotten/rethinkdb-multicorn-postgresql-fdw Github]<br />
|<br />
| [https://rethinkdb.com/blog/postgres-foreign-data-wrapper/ blog]<br />
|<br />
|-<br />
| [https://github.com/basho/riak Riak]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/kiskovacs/riak-multicorn-pg-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://whitedb.org/ WhiteDB]<br />
| Native<br />
| MIT<br />
| [https://github.com/Kentik/wdb_fdw Github]<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== File Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| CSV<br />
| Native<br />
| PostgreSQL<br />
|[https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/file_fdw;hb=HEAD git.postgresql.org]<br />
|<br />
| [https://www.postgresql.org/docs/current/static/file-fdw.html documentation]<br />
| Delivered as an official extension of PostgreSQL 9.1 / [https://www.depesz.com/2011/03/14/waiting-for-9-1-foreign-data-wrapper/ example] / [http://www.postgresonline.com/journal/archives/250-File-FDW-Family-Part-1-file_fdw.html Another example]<br />
|-<br />
| CSV<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#csv-foreign-data-wrapper documentation]<br />
| Each column defined in the table will be mapped, in order, against columns in the CSV file.<br />
|-<br />
| CSV / Text Array<br />
| Native<br />
|<br />
| [https://github.com/adunstan/file_text_array_fdw GitHub]<br />
|<br />
| [http://www.postgresonline.com/journal/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html How to] <br />
| Another CSV wrapper<br />
|-<br />
| CSV / Fixed-length<br />
| Native<br />
|<br />
| [https://github.com/adunstan/file_fixed_length_record_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| CSV / gzipped<br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/dialogbox/py_csvgz_fdw GitHub]<br />
|<br />
| <br />
| PostgreSQL Foreign Data Wrapper for gzipped cvs file<br />
|-<br />
| Compressed File<br />
| Native<br />
|<br />
| [https://github.com/gokhankici/compressedfile_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| Document Collection<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/ZhengYang/dc_fdw GitHub]<br />
|<br />
| [https://github.com/ZhengYang/dc_fdw/wiki wiki]<br />
| <br />
|-<br />
| JSON<br />
| Native<br />
| GPL3<br />
| [https://github.com/nkhorman/json_fdw GitHub]<br />
|<br />
| [https://www.citusdata.com/blog/2013/05/30/run-sql-on-json-files-without-any-data-loads/ Example]<br />
| <br />
|-<br />
| Multi-File<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#filesystem-foreign-data-wrapper doc]<br />
| Access data stored in various files in a filesystem. The files are looked up based on a pattern, and parts of the file's path are mapped to various columns, as well as the file's content itself.<br />
|-<br />
| Multi CDR<br />
| Native<br />
| PostgreSQL <br />
| [https://github.com/theirix/multicdr_fdw GitHub]<br />
| [https://pgxn.org/dist/multicdr_fdw/ PGXN] <br />
| <br />
| <br />
|-<br />
| pg_dump<br />
| Native<br />
| New BSD<br />
| [https://github.com/MeetMe/dump_fdw GitHub]<br />
|<br />
|<br />
| Allows querying of data directly against Postgres custom format files created by pg_dump<br />
|-<br />
| TAR Files<br />
| Native<br />
| <br />
| [https://github.com/beargiles/tarfile-fdw GitHub]<br />
|<br />
|<br />
| <br />
|-<br />
| XML<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
|<br />
|-<br />
| ZIP Files<br />
| Native<br />
| <br />
| [https://github.com/beargiles/zipfile-fdw GitHub]<br />
|<br />
|<br />
| <br />
|}<br />
<br />
== Geo Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[http://www.gdal.org GDAL/OGR]<br />
|Native<br />
|MIT<br />
|[https://github.com/pramsey/pgsql-ogr-fdw GitHub]<br />
|<br />
|<br />
|A wrapper for data sources with a [http://www.gdal.org GDAL/OGR] driver, including databases like Oracle, Informix, SQLite, SQL Server, ODBC as well as file formats like Shape, FGDB, MapInfo, CSV, Excel, OpenOffice, OpenStreetMap PBF and XML, OGC WebServices, [http://www.gdal.org/ogr_formats.html and more] Spatial columns are linked in as PostGIS geometry if PostGIS is installed.<br />
|-<br />
| Geocode / GeoJSON <br />
| [http://multicorn.org/ Multicorn]<br />
| GPL<br />
| [https://github.com/bosth/geofdw GitHub]<br />
|<br />
|<br />
| a collection of PostGIS-related foreign data wrappers<br />
|-<br />
| [https://wiki.openstreetmap.org/wiki/PBF_Format Open Street Map PBF] <br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/vpikulik/postgres_osm_pbf_fdw GitHub]<br />
|<br />
|<br />
| <br />
|}<br />
<br />
== LDAP Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| LDAP<br />
| Native<br />
| <br />
| [https://github.com/guedes/ldap_fdw GitHub]<br />
| [https://pgxn.org/dist/ldap_fdw/ PGXN]<br />
| <br />
| Allows to query an LDAP server and retrieve data from some pre-configured Organizational Unit<br />
|-<br />
| LDAP<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idldap-foreign-data-wrapper documentation]<br />
| <br />
|}<br />
<br />
<br />
== Generic Web Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Git<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
| <br />
|-<br />
| Git<br />
| Native<br />
| MIT<br />
| [https://github.com/franckverrot/git_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| ICAL<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/daamien/Multicorn/blob/master/python/multicorn/icalfdw.py GitHub]<br />
| <br />
| [https://wiki.postgresql.org/images/7/7e/Conferences-write_a_foreign_data_wrapper_in_15_minutes-presentation.pdf pdf]<br />
| <br />
|-<br />
| IMAP<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idimap-foreign-data-wrapper documentation]<br />
| <br />
|-<br />
| RSS<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idrss-foreign-data-wrapper documentation]<br />
| This fdw can be used to access items from an rss feed. <br />
|-<br />
| www<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/cyga/www_fdw/ GitHub]<br />
| [https://pgxn.org/dist/www_fdw/ PGXN]<br />
| [https://github.com/cyga/www_fdw/wiki wiki]<br />
| Allows to query different web services<br />
|}<br />
<br />
== Specific Web Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Database.com<br />
| [http://multicorn.org/ Multicorn]<br />
| BSD <br />
| [https://github.com/metadaddy/Database.com-FDW-for-PostgreSQL GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Dun & Badstreet<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/dpmorel/dnb_fdw GitHub]<br />
| <br />
| <br />
| Access to the [https://fr.wikipedia.org/wiki/Data_Universal_Numbering_System Data Universal Numbering System] (DUNS)<br />
|-<br />
| DynamoDB<br />
| [http://multicorn.org/ Multicorn]<br />
| GPL <br />
| [https://github.com/avances123/dynamodb_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Facebook<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/mrwilson/fb-psql GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Fixer.io<br />
| based on www_fdw<br />
| <br />
| [https://github.com/hakanensari/fixer GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Google<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
| <br />
|-<br />
| Heroku dataclips<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/petergeoghegan/dataclips_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Mailchimp<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/daamien/mailchimp_fdw GitHub]<br />
| <br />
| <br />
| Beta <br />
|-<br />
| [http://parseplatform.org/ Parse]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT <br />
| [https://github.com/spacialdb/parse_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| S3<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/umitanuki/s3_fdw GitHub]<br />
| [https://pgxn.org/dist/s3_fdw/ PGXN]<br />
| <br />
| <br />
|-<br />
| S3CSV<br />
| [http://multicorn.org/ Multicorn]<br />
| GPL 3<br />
| [https://github.com/eligoenergy/s3csv_fdw GitHub]<br />
| <br />
| <br />
| This is meant to replace s3_fdw that does is not supported on PostgreSQL version 9.2+<br />
|-<br />
| Telegram<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/guedes/telegram_fdw GitHub]<br />
| <br />
| <br />
| telegram_fdw is a Telegram BOT implemented using the PostgreSQL foreign data wrapper interface.<br />
|-<br />
| Twitter<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/umitanuki/twitter_fdw GitHub]<br />
| [https://pgxn.org/dist/twitter_fdw/ PGXN]<br />
| <br />
| A wrapper fetching text messages from Twitter over the Internet and returning a table<br />
|-<br />
| [https://www.treasuredata.com/ Treasure Data]<br />
| Native<br />
| Apache<br />
| [https://github.com/komamitsu/treasuredata_fdw GitHub]<br />
| [https://pgxn.org/dist/treasuredata_fdw PGXN]<br />
| <br />
| A FDW for Treasure Data internally using a Rust library<br />
|-<br />
| [https://www.treasuredata.com/ Treasure Data]<br />
| [http://multicorn.org/ Multicorn]<br />
| Apache<br />
| [https://github.com/komamitsu/td-fdw GitHub]<br />
|<br />
| <br />
|<br />
|-<br />
| Google Spreadsheets<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/lincolnturner/gspreadsheet_fdw GitHub]<br />
| <br />
| <br />
| <br />
|}<br />
<br />
== Big Data Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|Elastic Search<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
|[https://github.com/Mikulas/pg-es-fdw GitHub]<br />
|<br />
|<br />
|<br />
|-<br />
| Google BigQuery<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
|[https://github.com/gabfl/bigquery_fdw GitHub]<br />
|<br />
|[https://github.com/gabfl/bigquery_fdw/blob/master/docs/README.md Documentation]<br />
|bigquery_fdw is a BigQuery FDW compatible with PostgreSQL >= 9.5<br />
|-<br />
| file_fdw-gds (Hadoop)<br />
| Native<br />
| <br />
| [https://github.com/wat4dog/pg-file-fdw-gds GitHub]<br />
| <br />
| <br />
| Hadoop file_fdw is a slightly modified version of PostgreSQL 9.3's file_fdw module.<br />
|-<br />
| Hadoop<br />
| Native<br />
| PostgreSQL<br />
| [https://bitbucket.org/openscg/hadoop_fdw Bitbucket]<br />
| <br />
| <br />
| Allows read and write access to HBase as well as to HDFS via Hive.<br />
|-<br />
| HDFS<br />
| Native<br />
| Apache<br />
| [https://github.com/EnterpriseDB/hdfs_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Hive<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/youngwookim/hive-fdw-for-postgresql GitHub]<br />
| <br />
| <br />
| Used to access Apache Hive tables.<br />
|-<br />
| Hive / ORC File<br />
| Native<br />
| <br />
| [https://github.com/gokhankici/orc_fdw GitHub]<br />
| <br />
| <br />
|<br />
|-<br />
| [http://impala.io/ Impala]<br />
| Native<br />
| BSD <br />
| [https://github.com/lapug/impala_fdw GitHub]<br />
| <br />
| <br />
| <br />
|}<br />
<br />
== Column-Oriented Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|Columnar Store<br />
|Native<br />
|<br />
|[https://github.com/citusdata/cstore_fdw github]<br />
|[https://www.citusdata.com/blog/2014/04/03/columnar-store-for-analytics/ example]<br />
|<br />
|A Columnar Store for PostgreSQL.<br />
|-<br />
|[https://www.monetdb.org/ MonetDB]<br />
|Native<br />
|<br />
|[https://github.com/snaga/monetdb_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
|GPU Memory Store<br />
|Native<br />
|GPL v2<br />
|[https://github.com/heterodb/pg-strom github]<br />
|<br />
|<br />
|FDW to GPU device memory; a part of PG-Strom feature for PL/CUDA<br />
|}<br />
<br />
== Scientific Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Ambry <br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/nmb10/ambryfdw GitHub]<br />
|<br />
| <br />
|<br />
|-<br />
| ROOT files<br />
| Native<br />
|<br />
| [https://github.com/miguel-branco/root_fdw GitHub]<br />
|<br />
| <br />
| https://root.cern.ch<br />
|-<br />
| VCF files (Genotype)<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/smithijk/vcf_fdw_postgresql GitHub]<br />
| <br />
| <br />
| https://en.wikipedia.org/wiki/Variant_Call_Format<br />
|}<br />
<br />
== Operating System Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Docker<br />
| [http://multicorn.org/ Multicorn]<br />
| Expat<br />
| [https://github.com/paultag/dockerfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Log files<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/rdunklau/logfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| OpenStack / Telemetry <br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/CSCfi/telemetry-fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| OS Query<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/shish/pgosquery GitHub]<br />
| <br />
| <br />
| Like Facebook's OSQuery, but for Postgres<br />
|-<br />
| Passwd<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/beargiles/passwd-fdw GitHub]<br />
| <br />
| <br />
| reads linux/unix password and group files.<br />
|-<br />
| Process<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/Kozea/Multicorn/blob/master/python/multicorn/processfdw.py GitHub]<br />
| <br />
| <br />
| A foreign datawrapper for querying system stats based on [https://www.i-scream.org/libstatgrab/ statgrab]<br />
|}<br />
<br />
== Exotic Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| faker_fdw<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/guedes/faker_fdw GitHub]<br />
| <br />
| <br />
| faker_fdw is a foreign data wrapper for PostgreSQL that generates fake data.<br />
|-<br />
| fdw_fdw<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/daamien/fdw_fdw GitHub]<br />
| <br />
| <br />
| the Meta FDW ! reads this page and returns the list of all the FDW<br />
|-<br />
| PGStrom<br />
| Native<br />
| GPL 2<br />
| [https://github.com/heterodb/pg-strom GitHub]<br />
| <br />
| [http://wiki.postgresql.org/wiki/PGStrom wiki]<br />
| uses GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers. Now it moved to CustomScan based implementation, so its core logic no longer uses FDW.<br />
|-<br />
| PPG<br />
| Native<br />
| <br />
| [https://github.com/scarbrofair/ppg_fdw GitHub]<br />
| <br />
|<br />
| distributed parallel query engine, based on fdw and hooks of PG<br />
|-<br />
| Open Civic Data<br />
| [http://multicorn.org/ Multicorn]<br />
| Expat<br />
| [https://github.com/paultag/sunlightfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| [https://www2.meethue.com/en-us/about-hue Phillips Hue Lighting Systems]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT <br />
| [https://github.com/rotten/hue-multicorn-postgresql-fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Random Number<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/yieldsfalsehood/rng_fdw GitHub]<br />
| <br />
| <br />
| A random number generator foreign data wrapper for postgres<br />
|-<br />
| Rotfang<br />
| [http://multicorn.org/ Multicorn]<br />
| Native <br />
| [https://bitbucket.org/adunstan/rotfang-fdw BitBucket]<br />
| PostgreSQL<br />
| [https://drive.google.com/file/d/0B3XVAFFWEFN0aURac0dzSFQyZzA/view slides]<br />
| Advanced random number generator <br />
|-<br />
| Template Tables<br />
| Native<br />
| BSD<br />
| [https://github.com/okbob/template_fdw GitHub]<br />
| <br />
| <br />
| PostgreSQL data wrapper for template tables - any DML and SELECT operations are disallowed<br />
|}<br />
<br />
== Example Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Dummy<br />
| Native<br />
| BSD<br />
| [https://github.com/slaught/dummy_fdw GitHub]<br />
| <br />
| <br />
| Readable null FDW for testing<br />
|-<br />
| Hello World<br />
| <br />
| <br />
| [https://github.com/wikrsh/hello_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Black Hole<br />
| <br />
| <br />
| [https://bitbucket.org/adunstan/blackhole_fdw bitbucket]<br />
| <br />
| <br />
| a skeleton FDW pre-populated with relevant excerpts from the documentation<br />
|}<br />
<br />
<br />
=Writing Foreign Database Wrappers=<br />
<br />
* [http://multicorn.org/ Multicorn] is an extension that allows you to write FDWs in Python<br />
* [https://github.com/franckverrot/holycorn Holycorn] is an extension that allows you to write FDWs in Ruby<br />
* [https://www.postgresql.org/docs/current/static/fdwhandler.html Documentation: Writing a Foreign Data Wrapper]<br />
* [https://bitbucket.org/adunstan/blackhole_fdw Black Hole FDW] - a skeleton FDW pre-populated with relevant excerpts from the documentation<br />
* [http://blog.guillaume.lelarge.info/index.php/post/2013/06/25/The-handler-and-the-validator-functions-of-a-FDW FDW tutorial by Guillaume Lelarge]<br />
* [https://github.com/nautilebleu/django-fdw django-fdw] A sample project to test django and Postgres Foreign Data Wrapper<br />
<br />
<br />
[[Category:Foreign-data wrapper|!]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Foreign_data_wrappers&diff=31698Foreign data wrappers2018-04-06T21:13:44Z<p>Fabriziomello: /* Specific Web Wrappers */</p>
<hr />
<div>= Foreign Data Wrappers =<br />
In 2003, a new specification called [[SQL/MED]] ("SQL Management of External Data") was added to the SQL standard. It is a standardized way of handling access to remote objects from SQL databases. In 2011, PostgreSQL 9.1 was released with read-only support of this standard, and in 2013 write support was added with PostgreSQL 9.3.<br />
<br />
There are now a variety of Foreign Data Wrappers (FDW) available which enable PostgreSQL Server to different remote data stores, ranging from other SQL databases through to flat file. This page list some of the wrappers currently available. Another [https://pgxn.org/tag/fdw/ fdw list] can be found at [https://pgxn.org/ the PGXN website].<br />
<br />
Please keep in mind that most of these wrappers are '''not officially supported by the PostgreSQL Global Development Group''' (PGDG) and that some of these projects are '''still in Beta''' version. Use carefully!<br />
<br />
<br />
== Generic SQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|ODBC<br />
|Native<br />
|<br />
|[https://github.com/ZhengYang/odbc_fdw github]<br />
|[https://pgxn.org/dist/odbc_fdw/ PGXN]<br />
|[http://www.postgresonline.com/journal/archives/249-ODBC-Foreign-Data-wrapper-to-query-SQL-Server-on-Window---Part-2.html example] <br />
|Does not compile with PostgreSQL >= 9.2!<br />
|-<br />
|ODBC<br />
|Native<br />
|<br />
|[https://github.com/CartoDB/odbc_fdw github]<br />
|<br />
|<br />
|CartoDB took over active development of the ODBC FDW for PG 9.5+ <br />
|-<br />
|JDBC<br />
|Native<br />
|<br />
|[https://github.com/atris/JDBC_FDW github]<br />
|<br />
|<br />
| Not maintained ?<br />
|-<br />
|JDBC2<br />
|Native<br />
|<br />
|[https://github.com/heimir-sverrisson/jdbc2_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
| [http://www.sqlalchemy.org/ SQL_Alchemy]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN]<br />
| [http://multicorn.org/foreign-data-wrappers/#sqlalchemy-foreign-data-wrapper documentation]<br />
| Can be used to access data stored in any database supported by the sqlalchemy python toolkit.<br />
|-<br />
| VirtDB<br />
| Native<br />
| GPL<br />
| [https://github.com/virtdb/virtdb-fdw GitHub]<br />
|<br />
|<br />
| A generic FDW to access VirtDB data sources (SAP ERP, Oracle RDBMS)<br />
|}<br />
<br />
== Specific SQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[https://www.postgresql.org/ PostgreSQL]<br />
|Native<br />
|PostgreSQL<br />
|[https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/postgres_fdw;hb=HEAD git.postgresql.org]<br />
|<br />
|[https://www.postgresql.org/docs/current/static/postgres-fdw.html documentation]<br />
| <br />
|-<br />
|[https://www.oracle.com/index.html Oracle]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/laurenz/oracle_fdw github]<br />
|[https://pgxn.org/dist/oracle_fdw/ PGXN]<br />
|[http://laurenz.github.io/oracle_fdw/ website]<br />
| <br />
|-<br />
|[https://www.mysql.com/ MySQL]<br />
|Native<br />
|<br />
|[https://github.com/EnterpriseDB/mysql_fdw github]<br />
|[https://pgxn.org/dist/mysql_fdw/ PGXN]<br />
|[https://www.enterprisedb.com/node/3385 example]<br />
|An early version of the Foreign Data Wrapper for MySQL that supports PostgreSQL 9.1 and above: <br />
|-<br />
|[https://www.mysql.com/ MySQL]<br />
|Native<br />
|<br />
|[https://github.com/EnterpriseDB/mysql_fdw github]<br />
|[https://pgxn.org/dist/mysql_fdw/ PGXN]<br />
|[https://www.enterprisedb.com/blog/new-oss-tool-links-postgres-and-mysql example]<br />
|An updated FDW for MySQL that support PostgreSQL 9.3 and above <br />
|-<br />
|Informix<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/credativ/informix_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
|Firebird<br />
|Native<br />
|<br />
|[https://github.com/ibarwick/firebird_fdw/ github]<br />
|[https://pgxn.org/dist/firebird_fdw/ PGXN]<br />
|<br />
| currently work-in-progress.<br />
|-<br />
|SQLite<br />
|Native<br />
|<br />
|[https://github.com/gleu/sqlite_fdw github]<br />
|<br />
|<br />
|An FDW for SQLite3 (read-only)<br />
|-<br />
|Sybase / MS SQL Server<br />
|Native<br />
|<br />
|[https://github.com/tds-fdw/tds_fdw github]<br />
|[https://pgxn.org/dist/tds_fdw/ PGXN]<br />
|<br />
|An FDW for Sybase and Microsoft SQL server<br />
|-<br />
|[https://www.monetdb.org/ MonetDB]<br />
|Native<br />
|<br />
|[https://github.com/snaga/monetdb_fdw github]<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== NoSQL Database Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[https://cloud.google.com/bigtable/ BigTable or HBase]<br />
|[https://github.com/posix4e/rpgffi Native Rust Binding (RPGFFI)]<br />
|MIT<br />
|[https://github.com/durch/google-bigtable-postgres-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://cassandra.apache.org/ Cassandra]<br />
|[http://multicorn.org/ Multicorn]<br />
|MIT<br />
|[https://github.com/rankactive/cassandra-fdw Github]<br />
|[https://rankactive.com/resources/postgresql-cassandra-fdw Rankactive]<br />
|<br />
|<br />
|-<br />
| Cassandra2<br />
| Native<br />
| MIT<br />
|[https://github.com/jaiminpan/cassandra2_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|-<br />
| [http://cassandra.apache.org Cassandra]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
|[https://github.com/wjch-krl/pgCassandra Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://clickhouse.yandex/ ClickHouse]<br />
|[http://multicorn.org/ Multicorn]<br />
|BSD<br />
|[https://github.com/Infinidat/infi.clickhouse_fdw/ Github]<br />
|<br />
|[https://github.com/Infinidat/infi.clickhouse_fdw/blob/master/README.md README]<br />
|<br />
|-<br />
|[http://couchdb.apache.org/ CouchDB]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/ZhengYang/couchdb_fdw Github]<br />
|[https://pgxn.org/dist/couchdb_fdw/ PGXN]<br />
|<br />
| Original version<br />
|-<br />
|[http://couchdb.apache.org/ CouchDB]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/golgauth/couchdb_fdw Github]<br />
|<br />
|<br />
| golgauth version (9.1 - 9.2+ compatible)<br />
|-<br />
| [https://github.com/griddb/griddb_nosql GridDB]<br />
| Native<br />
| PostgreSQL <br />
| [https://github.com/pgspider/griddb_fdw Github]<br />
|<br />
| [https://github.com/pgspider/griddb_fdw/blob/master/README.md README]<br />
|<br />
|-<br />
|[http://fallabs.com/kyototycoon/ Kyoto Tycoon ]<br />
|Native<br />
|MIT<br />
|[https://github.com/cloudflare/kt_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://www.mongodb.com/ MongoDB]<br />
|Native<br />
|GPL3+<br />
|[https://github.com/EnterpriseDB/mongo_fdw Github]<br />
|[https://pgxn.org/dist/mongo_fdw/ PGXN]<br />
|[https://github.com/EnterpriseDB/mongo_fdw/blob/master/README.md README]<br />
|EDB version<br />
|-<br />
|[https://www.mongodb.com/ MongoDB]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/dwa/mongoose_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://www.mongodb.com/ MongoDB]<br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/asya999/yam_fdw Github]<br />
|<br />
|<br />
| Yet Another Postgres FDW for MongoDB<br />
|-<br />
|[https://neo4j.com/ Neo4j]<br />
|Native<br />
|?<br />
|[https://github.com/nuko-yokohama/neo4j_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://quasar-analytics.org/ Quasar]<br />
|Native<br />
|Apache<br />
|[https://github.com/quasar-analytics/quasar-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[https://redis.io/ Redis]<br />
|Native<br />
|PostgreSQL<br />
|[https://github.com/pg-redis-fdw/redis_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://redis.io/ Redis]<br />
| Native<br />
| BSD<br />
| [https://github.com/nahanni/rw_redis_fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
| [https://rethinkdb.com/ RethinkDB]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/rotten/rethinkdb-multicorn-postgresql-fdw Github]<br />
|<br />
| [https://rethinkdb.com/blog/postgres-foreign-data-wrapper/ blog]<br />
|<br />
|-<br />
| [https://github.com/basho/riak Riak]<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/kiskovacs/riak-multicorn-pg-fdw Github]<br />
|<br />
|<br />
|<br />
|-<br />
|[http://whitedb.org/ WhiteDB]<br />
| Native<br />
| MIT<br />
| [https://github.com/Kentik/wdb_fdw Github]<br />
|<br />
|<br />
|<br />
|}<br />
<br />
== File Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| CSV<br />
| Native<br />
| PostgreSQL<br />
|[https://git.postgresql.org/gitweb/?p=postgresql.git;a=tree;f=contrib/file_fdw;hb=HEAD git.postgresql.org]<br />
|<br />
| [https://www.postgresql.org/docs/current/static/file-fdw.html documentation]<br />
| Delivered as an official extension of PostgreSQL 9.1 / [https://www.depesz.com/2011/03/14/waiting-for-9-1-foreign-data-wrapper/ example] / [http://www.postgresonline.com/journal/archives/250-File-FDW-Family-Part-1-file_fdw.html Another example]<br />
|-<br />
| CSV<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#csv-foreign-data-wrapper documentation]<br />
| Each column defined in the table will be mapped, in order, against columns in the CSV file.<br />
|-<br />
| CSV / Text Array<br />
| Native<br />
|<br />
| [https://github.com/adunstan/file_text_array_fdw GitHub]<br />
|<br />
| [http://www.postgresonline.com/journal/archives/251-File-FDW-Family-Part-2-file_textarray_fdw-Foreign-Data-Wrapper.html How to] <br />
| Another CSV wrapper<br />
|-<br />
| CSV / Fixed-length<br />
| Native<br />
|<br />
| [https://github.com/adunstan/file_fixed_length_record_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| CSV / gzipped<br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/dialogbox/py_csvgz_fdw GitHub]<br />
|<br />
| <br />
| PostgreSQL Foreign Data Wrapper for gzipped cvs file<br />
|-<br />
| Compressed File<br />
| Native<br />
|<br />
| [https://github.com/gokhankici/compressedfile_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| Document Collection<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/ZhengYang/dc_fdw GitHub]<br />
|<br />
| [https://github.com/ZhengYang/dc_fdw/wiki wiki]<br />
| <br />
|-<br />
| JSON<br />
| Native<br />
| GPL3<br />
| [https://github.com/nkhorman/json_fdw GitHub]<br />
|<br />
| [https://www.citusdata.com/blog/2013/05/30/run-sql-on-json-files-without-any-data-loads/ Example]<br />
| <br />
|-<br />
| Multi-File<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#filesystem-foreign-data-wrapper doc]<br />
| Access data stored in various files in a filesystem. The files are looked up based on a pattern, and parts of the file's path are mapped to various columns, as well as the file's content itself.<br />
|-<br />
| Multi CDR<br />
| Native<br />
| PostgreSQL <br />
| [https://github.com/theirix/multicdr_fdw GitHub]<br />
| [https://pgxn.org/dist/multicdr_fdw/ PGXN] <br />
| <br />
| <br />
|-<br />
| pg_dump<br />
| Native<br />
| New BSD<br />
| [https://github.com/MeetMe/dump_fdw GitHub]<br />
|<br />
|<br />
| Allows querying of data directly against Postgres custom format files created by pg_dump<br />
|-<br />
| TAR Files<br />
| Native<br />
| <br />
| [https://github.com/beargiles/tarfile-fdw GitHub]<br />
|<br />
|<br />
| <br />
|-<br />
| XML<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
|<br />
|-<br />
| ZIP Files<br />
| Native<br />
| <br />
| [https://github.com/beargiles/zipfile-fdw GitHub]<br />
|<br />
|<br />
| <br />
|}<br />
<br />
== Geo Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|[http://www.gdal.org GDAL/OGR]<br />
|Native<br />
|MIT<br />
|[https://github.com/pramsey/pgsql-ogr-fdw GitHub]<br />
|<br />
|<br />
|A wrapper for data sources with a [http://www.gdal.org GDAL/OGR] driver, including databases like Oracle, Informix, SQLite, SQL Server, ODBC as well as file formats like Shape, FGDB, MapInfo, CSV, Excel, OpenOffice, OpenStreetMap PBF and XML, OGC WebServices, [http://www.gdal.org/ogr_formats.html and more] Spatial columns are linked in as PostGIS geometry if PostGIS is installed.<br />
|-<br />
| Geocode / GeoJSON <br />
| [http://multicorn.org/ Multicorn]<br />
| GPL<br />
| [https://github.com/bosth/geofdw GitHub]<br />
|<br />
|<br />
| a collection of PostGIS-related foreign data wrappers<br />
|-<br />
| [https://wiki.openstreetmap.org/wiki/PBF_Format Open Street Map PBF] <br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/vpikulik/postgres_osm_pbf_fdw GitHub]<br />
|<br />
|<br />
| <br />
|}<br />
<br />
== LDAP Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| LDAP<br />
| Native<br />
| <br />
| [https://github.com/guedes/ldap_fdw GitHub]<br />
| [https://pgxn.org/dist/ldap_fdw/ PGXN]<br />
| <br />
| Allows to query an LDAP server and retrieve data from some pre-configured Organizational Unit<br />
|-<br />
| LDAP<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idldap-foreign-data-wrapper documentation]<br />
| <br />
|}<br />
<br />
<br />
== Generic Web Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Git<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
| <br />
|-<br />
| Git<br />
| Native<br />
| MIT<br />
| [https://github.com/franckverrot/git_fdw GitHub]<br />
|<br />
| <br />
| <br />
|-<br />
| ICAL<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/daamien/Multicorn/blob/master/python/multicorn/icalfdw.py GitHub]<br />
| <br />
| [https://wiki.postgresql.org/images/7/7e/Conferences-write_a_foreign_data_wrapper_in_15_minutes-presentation.pdf pdf]<br />
| <br />
|-<br />
| IMAP<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idimap-foreign-data-wrapper documentation]<br />
| <br />
|-<br />
| RSS<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| [http://multicorn.org/foreign-data-wrappers/#idrss-foreign-data-wrapper documentation]<br />
| This fdw can be used to access items from an rss feed. <br />
|-<br />
| www<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/cyga/www_fdw/ GitHub]<br />
| [https://pgxn.org/dist/www_fdw/ PGXN]<br />
| [https://github.com/cyga/www_fdw/wiki wiki]<br />
| Allows to query different web services<br />
|}<br />
<br />
== Specific Web Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Database.com<br />
| [http://multicorn.org/ Multicorn]<br />
| BSD <br />
| [https://github.com/metadaddy/Database.com-FDW-for-PostgreSQL GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Dun & Badstreet<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/dpmorel/dnb_fdw GitHub]<br />
| <br />
| <br />
| Access to the [https://fr.wikipedia.org/wiki/Data_Universal_Numbering_System Data Universal Numbering System] (DUNS)<br />
|-<br />
| DynamoDB<br />
| [http://multicorn.org/ Multicorn]<br />
| GPL <br />
| [https://github.com/avances123/dynamodb_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Facebook<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/mrwilson/fb-psql GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Fixer.io<br />
| based on www_fdw<br />
| <br />
| [https://github.com/hakanensari/fixer GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Google<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/Kozea/Multicorn GitHub]<br />
| [https://pgxn.org/dist/multicorn/ PGXN] <br />
| <br />
| <br />
|-<br />
| Heroku dataclips<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/petergeoghegan/dataclips_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Mailchimp<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL <br />
| [https://github.com/daamien/mailchimp_fdw GitHub]<br />
| <br />
| <br />
| Beta <br />
|-<br />
| [http://parseplatform.org/ Parse]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT <br />
| [https://github.com/spacialdb/parse_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| S3<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/umitanuki/s3_fdw GitHub]<br />
| [https://pgxn.org/dist/s3_fdw/ PGXN]<br />
| <br />
| <br />
|-<br />
| S3CSV<br />
| [http://multicorn.org/ Multicorn]<br />
| GPL 3<br />
| [https://github.com/eligoenergy/s3csv_fdw GitHub]<br />
| <br />
| <br />
| This is meant to replace s3_fdw that does is not supported on PostgreSQL version 9.2+<br />
|-<br />
| Telegram<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/guedes/telegram_fdw GitHub]<br />
| <br />
| <br />
| telegram_fdw is a Telegram BOT implemented using the PostgreSQL foreign data wrapper interface.<br />
|-<br />
| Twitter<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/umitanuki/twitter_fdw GitHub]<br />
| [https://pgxn.org/dist/twitter_fdw/ PGXN]<br />
| <br />
| A wrapper fetching text messages from Twitter over the Internet and returning a table<br />
|-<br />
| [https://www.treasuredata.com/ Treasure Data]<br />
| Native<br />
| Apache<br />
| [https://github.com/komamitsu/treasuredata_fdw GitHub]<br />
| [https://pgxn.org/dist/treasuredata_fdw PGXN]<br />
| <br />
| A FDW for Treasure Data internally using a Rust library<br />
|-<br />
| [https://www.treasuredata.com/ Treasure Data]<br />
| [http://multicorn.org/ Multicorn]<br />
| Apache<br />
| [https://github.com/komamitsu/td-fdw GitHub]<br />
|<br />
| <br />
|<br />
|-<br />
| Google Spreadsheets<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
| [https://github.com/lincolnturner/gspreadsheet_fdw GitHub]<br />
| <br />
| <br />
| <br />
|}<br />
<br />
== Big Data Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|Elastic Search<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
|[https://github.com/Mikulas/pg-es-fdw GitHub]<br />
|<br />
|<br />
|<br />
|-<br />
| Google BigQuery<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT<br />
|[https://github.com/gabfl/bigquery_fdw GitHub]<br />
|<br />
|[https://github.com/gabfl/bigquery_fdw/blob/master/docs/README.md Documentation]<br />
|bigquery_fdw is a BigQuery FDW compatible with PostgreSQL >= 9.5<br />
|-<br />
| file_fdw-gds (Hadoop)<br />
| Native<br />
| <br />
| [https://github.com/wat4dog/pg-file-fdw-gds GitHub]<br />
| <br />
| <br />
| Hadoop file_fdw is a slightly modified version of PostgreSQL 9.3's file_fdw module.<br />
|-<br />
| Hadoop<br />
| Native<br />
| PostgreSQL<br />
| [https://bitbucket.org/openscg/hadoop_fdw Bitbucket]<br />
| <br />
| <br />
| Allows read and write access to HBase as well as to HDFS via Hive.<br />
|-<br />
| HDFS<br />
| Native<br />
| Apache<br />
| [https://github.com/EnterpriseDB/hdfs_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Hive<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/youngwookim/hive-fdw-for-postgresql GitHub]<br />
| <br />
| <br />
| Used to access Apache Hive tables.<br />
|-<br />
| Hive / ORC File<br />
| Native<br />
| <br />
| [https://github.com/gokhankici/orc_fdw GitHub]<br />
| <br />
| <br />
|<br />
|-<br />
| [http://impala.io/ Impala]<br />
| Native<br />
| BSD <br />
| [https://github.com/lapug/impala_fdw GitHub]<br />
| <br />
| <br />
| <br />
|}<br />
<br />
== Column-Oriented Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
|Columnar Store<br />
|Native<br />
|<br />
|[https://github.com/citusdata/cstore_fdw github]<br />
|[https://www.citusdata.com/blog/2014/04/03/columnar-store-for-analytics/ example]<br />
|<br />
|A Columnar Store for PostgreSQL.<br />
|-<br />
|[https://www.monetdb.org/ MonetDB]<br />
|Native<br />
|<br />
|[https://github.com/snaga/monetdb_fdw github]<br />
|<br />
|<br />
|<br />
|-<br />
|GPU Memory Store<br />
|Native<br />
|GPL v2<br />
|[https://github.com/heterodb/pg-strom github]<br />
|<br />
|<br />
|FDW to GPU device memory; a part of PG-Strom feature for PL/CUDA<br />
|}<br />
<br />
== Scientific Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Ambry <br />
| [http://multicorn.org/ Multicorn]<br />
|<br />
| [https://github.com/nmb10/ambryfdw GitHub]<br />
|<br />
| <br />
|<br />
|-<br />
| ROOT files<br />
| Native<br />
|<br />
| [https://github.com/miguel-branco/root_fdw GitHub]<br />
|<br />
| <br />
| https://root.cern.ch<br />
|-<br />
| VCF files (Genotype)<br />
| [http://multicorn.org/ Multicorn]<br />
| <br />
| [https://github.com/smithijk/vcf_fdw_postgresql GitHub]<br />
| <br />
| <br />
| https://en.wikipedia.org/wiki/Variant_Call_Format<br />
|}<br />
<br />
== Operating System Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Docker<br />
| [http://multicorn.org/ Multicorn]<br />
| Expat<br />
| [https://github.com/paultag/dockerfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Log files<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/rdunklau/logfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| OpenStack / Telemetry <br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/CSCfi/telemetry-fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| OS Query<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/shish/pgosquery GitHub]<br />
| <br />
| <br />
| Like Facebook's OSQuery, but for Postgres<br />
|-<br />
| Passwd<br />
| Native<br />
| PostgreSQL<br />
| [https://github.com/beargiles/passwd-fdw GitHub]<br />
| <br />
| <br />
| reads linux/unix password and group files.<br />
|-<br />
| Process<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/Kozea/Multicorn/blob/master/python/multicorn/processfdw.py GitHub]<br />
| <br />
| <br />
| A foreign datawrapper for querying system stats based on [https://www.i-scream.org/libstatgrab/ statgrab]<br />
|}<br />
<br />
== Exotic Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| fdw_fdw<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/daamien/fdw_fdw GitHub]<br />
| <br />
| <br />
| the Meta FDW ! reads this page and returns the list of all the FDW<br />
|-<br />
| PGStrom<br />
| Native<br />
| GPL 2<br />
| [https://github.com/heterodb/pg-strom GitHub]<br />
| <br />
| [http://wiki.postgresql.org/wiki/PGStrom wiki]<br />
| uses GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers. Now it moved to CustomScan based implementation, so its core logic no longer uses FDW.<br />
|-<br />
| PPG<br />
| Native<br />
| <br />
| [https://github.com/scarbrofair/ppg_fdw GitHub]<br />
| <br />
|<br />
| distributed parallel query engine, based on fdw and hooks of PG<br />
|-<br />
| Open Civic Data<br />
| [http://multicorn.org/ Multicorn]<br />
| Expat<br />
| [https://github.com/paultag/sunlightfdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| [https://www2.meethue.com/en-us/about-hue Phillips Hue Lighting Systems]<br />
| [http://multicorn.org/ Multicorn]<br />
| MIT <br />
| [https://github.com/rotten/hue-multicorn-postgresql-fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Random Number<br />
| [http://multicorn.org/ Multicorn]<br />
| PostgreSQL<br />
| [https://github.com/yieldsfalsehood/rng_fdw GitHub]<br />
| <br />
| <br />
| A random number generator foreign data wrapper for postgres<br />
|-<br />
| Rotfang<br />
| [http://multicorn.org/ Multicorn]<br />
| Native <br />
| [https://bitbucket.org/adunstan/rotfang-fdw BitBucket]<br />
| PostgreSQL<br />
| [https://drive.google.com/file/d/0B3XVAFFWEFN0aURac0dzSFQyZzA/view slides]<br />
| Advanced random number generator <br />
|-<br />
| Template Tables<br />
| Native<br />
| BSD<br />
| [https://github.com/okbob/template_fdw GitHub]<br />
| <br />
| <br />
| PostgreSQL data wrapper for template tables - any DML and SELECT operations are disallowed<br />
|}<br />
<br />
== Example Wrappers ==<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Data Source<br />
!{{Hl2}} |Type<br />
!{{Hl2}} |Licence<br />
!{{Hl2}} |Code<br />
!{{Hl2}} |Install<br />
!{{Hl2}} |Doc<br />
!{{Hl2}} |Notes<br />
|-<br />
| Dummy<br />
| Native<br />
| BSD<br />
| [https://github.com/slaught/dummy_fdw GitHub]<br />
| <br />
| <br />
| Readable null FDW for testing<br />
|-<br />
| Hello World<br />
| <br />
| <br />
| [https://github.com/wikrsh/hello_fdw GitHub]<br />
| <br />
| <br />
| <br />
|-<br />
| Black Hole<br />
| <br />
| <br />
| [https://bitbucket.org/adunstan/blackhole_fdw bitbucket]<br />
| <br />
| <br />
| a skeleton FDW pre-populated with relevant excerpts from the documentation<br />
|}<br />
<br />
<br />
=Writing Foreign Database Wrappers=<br />
<br />
* [http://multicorn.org/ Multicorn] is an extension that allows you to write FDWs in Python<br />
* [https://github.com/franckverrot/holycorn Holycorn] is an extension that allows you to write FDWs in Ruby<br />
* [https://www.postgresql.org/docs/current/static/fdwhandler.html Documentation: Writing a Foreign Data Wrapper]<br />
* [https://bitbucket.org/adunstan/blackhole_fdw Black Hole FDW] - a skeleton FDW pre-populated with relevant excerpts from the documentation<br />
* [http://blog.guillaume.lelarge.info/index.php/post/2013/06/25/The-handler-and-the-validator-functions-of-a-FDW FDW tutorial by Guillaume Lelarge]<br />
* [https://github.com/nautilebleu/django-fdw django-fdw] A sample project to test django and Postgres Foreign Data Wrapper<br />
<br />
<br />
[[Category:Foreign-data wrapper|!]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=31145Events2017-11-06T13:00:09Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGDay.Seoul 2017 || [http://pgday.postgresql.kr Pgday.Seoul 2017] || November 4, 2017 || South Korea || Seoul || Talks, Training<br />
|-<br />
| 2ndQuadrant PostgreSQL Conference 2017 || [http://www.2qpgconf.com 2Q PGconf New York] || November 6 - 7, 2017 || US || New York City || Training, Talks<br />
|-<br />
| 2ndQuadrant PostgreSQL Conference 2017 || [http://www.2qpgconf.com 2Q PGconf Chicago] || November 9, 2017 || US || Chicago || Talks<br />
|-<br />
| PGConf Local: Seattle 2017 || [https://www.pgconf.us/conferences/Seattle2017 PGConf Seattle] || November 13 - 14, 2017 || US || Seattle || Talks, Tutorials<br />
|-<br />
| PGConf Local: Austin 2017 || [https://www.pgconf.us/conferences/Austin2017 PGConf Austin] || December 4 - 5, 2017 || US || Austin || Talks, Tutorials<br />
|-<br />
| [https://wiki.postgresql.org/wiki/PGConf.Asia_2017 PG Conference Asia 2017] || [http://www.pgconf.asia PGConf.Asia] || Dec 4 - 6, 2017 || Japan || Tokyo (Akihabara) || Talks, Tutorials, [[PGConf.ASIA2017_Developer_Unconference|Unconference]]<br />
|-<br />
| pgconf.de 2018 || [http://2017.pgconf.de/ pgconf.de] || April 13th, 2018 || Germany || Berlin || Talks<br />
|-<br />
| PGConf US: National 2018 || [https://www.pgconf.us/conferences/National2018 PGConf US] || April 16 - 20, 2018 || US || Jersey City || Talks, Tutorials, Summit<br />
|-<br />
| PGConf.Brasil 2018 || [http://www.pgconf.com.br PGConf.Brasil 2018] || August 03 - 04, 2018 || Brazil || São Paulo || Talks, Tutorials<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2017'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM & FOSDEM PGDay 2017 || [https://2017.fosdempgday.org/ 2017.fosdempgday.org] || Feb 3 - 5, 2017 || Belgium || Brussels || [[FOSDEM_2017|Talks]], Booth<br />
|-<br />
| PGDay.Israel 2017 || [http://www.pgday.org.il pgday.org.il] || Mar 2, 2017 || Israel || Tel Aviv || Talks<br />
|-<br />
| PGConf.Russia 2017 || [http://www.pgconf.ru PGConf.Ru] || Mar 15 - 17, 2017 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2017 || [http://2017.nordicpgday.org/ 2017.nordicpgday.org] || Mar 21, 2017 || Sweden || Stockholm || Talks<br />
|-<br />
| pgDay Paris 2017 || [http://2017.pgday.paris/ 2017.pgday.paris] || Mar 23, 2017 || France || Paris || Talks<br />
|-<br />
| PGConf US 2017 || [http://www.pgconf.us/ www.pgconf.us] || March 28 - 31, 2017 || USA || Jersey City || Training, Talks, Summit<br />
|-<br />
| PGCon 2017 || [http://www.pgcon.org/2017/ www.pgcon.org] || May 23 - 26, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PgDay FR || [http://pgday.fr/ pgday.fr/] || June 8, 2017 || France || Toulouse || Talks<br />
|-<br />
| Swiss PGDay 2017 || [http://www.pgday.ch/ pgday.ch] || June 30, 2017 || Switzerland || Zürich (Rapperswil) || Talks<br />
|-<br />
| PgDay UK || [http://www.pgconf.uk/ pgconf.uk] || July 3 - 4, 2017 || UK || London || Training, Talks<br />
|-<br />
| PGConf.Brasil 2017 || [http://www.pgconf.com.br PGConf.Brasil] || July 10 - 14, 2017 || Brazil || Online || Talks<br />
|-<br />
| PGConf Local: Philly 2017 || [https://www.pgconf.us/conferences/Philly2017 PGConf Philly] || July 13 - 14, 2017 || US || Philadelphia || Talks, Tutorials<br />
|-<br />
| PostgresOpen 2017 || [http://2017.postgresopen.org PostgresOpen 2017] || September 6 - 8, 2017 || US || Silicon Valley || Talks, Tutorials<br />
|-<br />
| PGBR 2017 || [http://pgbr.postgresql.org.br/2017 PGBR2017] || September 14 - 16, 2017 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PG Conference Europe 2017 || [http://2017.pgconf.eu/ 2017.pgconf.eu] || October 24-27, 2017 || Poland || Warsaw || Training, [https://www.postgresql.eu/events/sessions/pgconfeu2017/ Talks]<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2016'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2016 || [http://fosdem2016.pgconf.eu/ fosdem2016.pgconf.eu] || January 29/31, 2016 || Belgium || Brussels || [[FOSDEM_2016|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/2016 PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| pgDay Paris 2016 || [http://www.pgday.paris/ www.pgday.paris] || March 31, 2016 || France || Paris || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGCon 2016 || [http://www.pgcon.org/2016/ www.pgcon.org] || May 17 - 21, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PG Day France 2016 || [http://www.pgday.fr/ www.pgday.fr] || May 31, 2016 || France || Lille || Talks<br />
|-<br />
| PGDay UK 2016 || [http://www.pgconf.uk/ www.pgconf.uk] || July 04 - 05, 2016 || UK || London || Training, Talks<br />
|-<br />
| PG Day'16 Russia || [http://pgday.ru/en/2016 pgday.ru] || July 05 - 08, 2016 || Russia || St. Petersburg || Training, Talks, 20th anniversary celebration<br />
|-<br />
| PostgresOpen 2016 || [http://2016.postgresopen.org PostgresOpen 2016] || Sep 13 - 15, 2016 || Texas, US || Dallas || [[Postgres_Open_2016|Talks]], Tutorials<br />
|-<br />
| PG Day'16 Bolivia || [https://wiki.postgresql.org/wiki/PGDay_Bolivia_2016 PgDay Bolivia] || Octubre 07 - 08, 2016 || Bolivia || Santa Cruz || Talks<br />
|-<br />
| PGDay.Seoul 2016 || [http://pgday.postgresql.kr PGDay.Seoul 2016] || Oct 15, 2016 || South Korea || Seoul || Talks<br />
|-<br />
| PG Conference Europe 2016 || [http://2016.pgconf.eu/ 2016.pgconf.eu] || November 1-4, 2016 || Estonia || Tallinn || Training, [[PostgreSQL Conference Europe Talks 2016|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2016 || [http://pgconfsv.com PGConf SV] || Nov 14 - 16, 2016 || California, US || SF Bay Area || Talks, Tutorials<br />
|-<br />
| [https://wiki.postgresql.org/wiki/PGConf.Asia_2016 PG Conference Asia 2016] || [http://www.pgconf.asia/EN/2016/ PGConf.Asia] || Dec 1 - 3, 2016 || Japan || Tokyo (Akihabara) || [http://www.pgconf.asia/EN/2016/program/ Talks], [http://www.pgconf.asia/EN/2016/tutorial/ Tutorials], [[PGConf.ASIA2016_Developer_Unconference|Unconference]]<br />
|-<br />
| CHAR(16) || [http://charconference.org/ CHAR(16)] || Dec 6 - 7, 2016 || USA || New York || Talks, Training<br />
|-<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2015 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks, Training<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || [[Postgres_Open_2015|Talks]]<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/2015 PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=30361Events2017-06-08T12:05:27Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PgDay FR || [http://pgday.fr/ pgday.fr/] || June 8, 2017 || France || Toulouse || Talks<br />
|-<br />
| 5432…MeetUs! || [http://5432meet.us/en/home-en/ 5432meet.us] || June 13 - 14, 2017 || Italy || Milan || Training, Talks<br />
|-<br />
| Swiss PGDay 2017 || [http://www.pgday.ch/ pgday.ch] || June 30, 2017 || Switzerland || Zürich (Rapperswil) || Talks<br />
|-<br />
| PgDay UK || [http://www.pgconf.uk/ pgconf.uk] || July 3 - 4, 2017 || UK || London || Training, Talks<br />
|-<br />
| PGConf.Brasil 2017 || [http://www.pgconf.com.br PGConf.Brasil] || July 10 - 14, 2017 || Brazil || Online || Talks<br />
|-<br />
| PostgresOpen 2017 || [http://2017.postgresopen.org PostgresOpen 2017] || September 6 - 8, 2017 || US || Silicon Valley || Talks, Tutorials<br />
|-<br />
| PGBR 2017 || [http://pgbr.postgresql.org.br/2017 PGBR2017] || September 14-16, 2017 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| CHAR(17) || [http://charconference.org/ charconference.org] || November 7 - 8, 2017 || USA || New York || Training, Talks<br />
|-<br />
| PGConf.Asia 2017 || [http://www.pgconf.asia PGConf.Asia] || Dec 4 - 6, 2017 || Japan || Tokyo || Talks, Tutorials, Unconference<br />
|-<br />
| pgconf.de 2018 || [http://2017.pgconf.de/ pgconf.de] || April 13th, 2018 || Germany || Berlin || Talks<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2017'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM & FOSDEM PGDay 2017 || [https://2017.fosdempgday.org/ 2017.fosdempgday.org] || Feb 3 - 5, 2017 || Belgium || Brussels || [[FOSDEM_2017|Talks]], Booth<br />
|-<br />
| PGDay.Israel 2017 || [http://www.pgday.org.il pgday.org.il] || Mar 2, 2017 || Israel || Tel Aviv || Talks<br />
|-<br />
| PGConf.Russia 2017 || [http://www.pgconf.ru PGConf.Ru] || Mar 15 - 17, 2017 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2017 || [http://2017.nordicpgday.org/ 2017.nordicpgday.org] || Mar 21, 2017 || Sweden || Stockholm || Talks<br />
|-<br />
| pgDay Paris 2017 || [http://2017.pgday.paris/ 2017.pgday.paris] || Mar 23, 2017 || France || Paris || Talks<br />
|-<br />
| PGConf US 2017 || [http://www.pgconf.us/ www.pgconf.us] || March 28 - 31, 2017 || USA || Jersey City || Training, Talks, Summit<br />
|-<br />
| PGCon 2017 || [http://www.pgcon.org/2017/ www.pgcon.org] || May 23 - 26, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2016'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2016 || [http://fosdem2016.pgconf.eu/ fosdem2016.pgconf.eu] || January 29/31, 2016 || Belgium || Brussels || [[FOSDEM_2016|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/2016 PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| pgDay Paris 2016 || [http://www.pgday.paris/ www.pgday.paris] || March 31, 2016 || France || Paris || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGCon 2016 || [http://www.pgcon.org/2016/ www.pgcon.org] || May 17 - 21, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PG Day France 2016 || [http://www.pgday.fr/ www.pgday.fr] || May 31, 2016 || France || Lille || Talks<br />
|-<br />
| PGDay UK 2016 || [http://www.pgconf.uk/ www.pgconf.uk] || July 04 - 05, 2016 || UK || London || Training, Talks<br />
|-<br />
| PG Day'16 Russia || [http://pgday.ru/en/2016 pgday.ru] || July 05 - 08, 2016 || Russia || St. Petersburg || Training, Talks, 20th anniversary celebration<br />
|-<br />
| PostgresOpen 2016 || [http://2016.postgresopen.org PostgresOpen 2016] || Sep 13 - 15, 2016 || Texas, US || Dallas || [[Postgres_Open_2016|Talks]], Tutorials<br />
|-<br />
| PG Day'16 Bolivia || [https://wiki.postgresql.org/wiki/PGDay_Bolivia_2016 PgDay Bolivia] || Octubre 07 - 08, 2016 || Bolivia || Santa Cruz || Talks<br />
|-<br />
| PGDay.Seoul 2016 || [http://pgday.postgresql.kr PGDay.Seoul 2016] || Oct 15, 2016 || South Korea || Seoul || Talks<br />
|-<br />
| PG Conference Europe 2016 || [http://2016.pgconf.eu/ 2016.pgconf.eu] || November 1-4, 2016 || Estonia || Tallinn || Training, [[PostgreSQL Conference Europe Talks 2016|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2016 || [http://pgconfsv.com PGConf SV] || Nov 14 - 16, 2016 || California, US || SF Bay Area || Talks, Tutorials<br />
|-<br />
| PGConf.Asia 2016 || [http://www.pgconf.asia PGConf.Asia] || Dec 1 - 3, 2016 || Japan || Tokyo || [http://www.pgconf.asia/EN/program/ Talks], [http://www.pgconf.asia/EN/tutorial/ Tutorials], [[PGConf.ASIA2016_Developer_Unconference|Unconference]]<br />
|-<br />
| CHAR(16) || [http://charconference.org/ CHAR(16)] || Dec 6 - 7, 2016 || USA || New York || Talks, Training<br />
|-<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2015 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks, Training<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || [[Postgres_Open_2015|Talks]]<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/2015 PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=30056Events2017-05-08T15:48:23Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| 5432…MeetUs! || [http://5432meet.us/en/home-en/ 5432meet.us] || June 13 - 14, 2017 || Italy || Milan || Training, Talks<br />
|-<br />
| PgDay UK || [http://www.pgconf.uk/ pgconf.uk] || July 3 - 4, 2017 || UK || London || Training, Talks<br />
|-<br />
| PGBR 2017 || [http://pgbr.postgresql.org.br/2017 PGBR2017] || September 14-16, 2017 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| CHAR(17) || [http://charconference.org/ charconference.org] || November 7 - 8, 2017 || USA || New York || Training, Talks<br />
|-<br />
| pgconf.de 2018 || [http://2017.pgconf.de/ pgconf.de] || April 13th, 2018 || Germany || Berlin || Talks<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2017'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM & FOSDEM PGDay 2017 || [https://2017.fosdempgday.org/ 2017.fosdempgday.org] || Feb 3 - 5, 2017 || Belgium || Brussels || [[FOSDEM_2017|Talks]], Booth<br />
|-<br />
| PGDay.Israel 2017 || [http://www.pgday.org.il pgday.org.il] || Mar 2, 2017 || Israel || Tel Aviv || Talks<br />
|-<br />
| PGConf.Russia 2017 || [http://www.pgconf.ru PGConf.Ru] || Mar 15 - 17, 2017 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2017 || [http://2017.nordicpgday.org/ 2017.nordicpgday.org] || Mar 21, 2017 || Sweden || Stockholm || Talks<br />
|-<br />
| pgDay Paris 2017 || [http://2017.pgday.paris/ 2017.pgday.paris] || Mar 23, 2017 || France || Paris || Talks<br />
|-<br />
| PGConf US 2017 || [http://www.pgconf.us/ www.pgconf.us] || March 28 - 31, 2017 || USA || Jersey City || Training, Talks, Summit<br />
|-<br />
| pgconf.de 2017 || [http://2017.pgconf.de/ pgconf.de] || Oct 3rd, 2017 || Germany || Berlin || Talks<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2016'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2016 || [http://fosdem2016.pgconf.eu/ fosdem2016.pgconf.eu] || January 29/31, 2016 || Belgium || Brussels || [[FOSDEM_2016|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/2016 PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| pgDay Paris 2016 || [http://www.pgday.paris/ www.pgday.paris] || March 31, 2016 || France || Paris || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGCon 2016 || [http://www.pgcon.org/2016/ www.pgcon.org] || May 17 - 21, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PG Day France 2016 || [http://www.pgday.fr/ www.pgday.fr] || May 31, 2016 || France || Lille || Talks<br />
|-<br />
| PGDay UK 2016 || [http://www.pgconf.uk/ www.pgconf.uk] || July 04 - 05, 2016 || UK || London || Training, Talks<br />
|-<br />
| PG Day'16 Russia || [http://pgday.ru/en/2016 pgday.ru] || July 05 - 08, 2016 || Russia || St. Petersburg || Training, Talks, 20th anniversary celebration<br />
|-<br />
| PostgresOpen 2016 || [http://2016.postgresopen.org PostgresOpen 2016] || Sep 13 - 15, 2016 || Texas, US || Dallas || [[Postgres_Open_2016|Talks]], Tutorials<br />
|-<br />
| PG Day'16 Bolivia || [https://wiki.postgresql.org/wiki/PGDay_Bolivia_2016 PgDay Bolivia] || Octubre 07 - 08, 2016 || Bolivia || Santa Cruz || Talks<br />
|-<br />
| PGDay.Seoul 2016 || [http://pgday.postgresql.kr PGDay.Seoul 2016] || Oct 15, 2016 || South Korea || Seoul || Talks<br />
|-<br />
| PG Conference Europe 2016 || [http://2016.pgconf.eu/ 2016.pgconf.eu] || November 1-4, 2016 || Estonia || Tallinn || Training, [[PostgreSQL Conference Europe Talks 2016|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2016 || [http://pgconfsv.com PGConf SV] || Nov 14 - 16, 2016 || California, US || SF Bay Area || Talks, Tutorials<br />
|-<br />
| PGConf.Asia 2016 || [http://www.pgconf.asia PGConf.Asia] || Dec 1 - 3, 2016 || Japan || Tokyo || [http://www.pgconf.asia/EN/program/ Talks], [http://www.pgconf.asia/EN/tutorial/ Tutorials], [[PGConf.ASIA2016_Developer_Unconference|Unconference]]<br />
|-<br />
| CHAR(16) || [http://charconference.org/ CHAR(16)] || Dec 6 - 7, 2016 || USA || New York || Talks, Training<br />
|-<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2015 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks, Training<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || [[Postgres_Open_2015|Talks]]<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/2015 PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=27654Events2016-05-25T18:03:52Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/ PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| pgDay Paris 2016 || [http://www.pgday.paris/ www.pgday.paris] || March 31, 2016 || France || Paris || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGCon 2016 || [http://www.pgcon.org/2016/ www.pgcon.org] || May 17 - 21, 2016 || Canada || Ottawa || Training, Talks, Summit<br />
|-<br />
| PG Day France 2016 || [http://www.pgday.fr/ www.pgday.fr] || May 31, 2016 || France || Lille || Talks<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2016'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2016 || [http://fosdem2016.pgconf.eu/ fosdem2016.pgconf.eu] || January 29/31, 2016 || Belgium || Brussels || [[FOSDEM_2016|Talks]]<br />
|-<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2015 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || Talks<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=27083Events2016-01-21T13:26:59Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/ PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| PGDay Curitiba 2016 || [http://www.pgdaycuritiba.pr.gov.br/ PGDay Curitiba 2016] || March 03, 2016 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| pgDay Asia 2016 || [http://2016.pgday.asia/ pgDay Asia 2016] || March 17 & 19, 2016 || Singapore || Singapore || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGBR 2016 || [http://pgbr.postgresql.org.br/ PGBR2016] || November 16-18, 2016 || Brazil || Porto Alegre || Talks, Tutorials, Conference<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2014 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || Talks<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=26510Events2015-12-09T17:48:03Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/ PgConf.Russia 2016] || February 3 - 5, 2016 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGBR 2016 || [http://pgbr.postgresql.org.br/ PGBR2016] || November 16-18, 2016 || Brazil || Porto Alegre || Talks, Tutorials, Conference<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2014 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || Talks<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=26509Events2015-12-09T17:47:02Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, [[German-Speaking PostgreSQL Conference 2015|Talks]]<br />
|-<br />
| PGConf.Russia 2016 || [http://pgconf.ru/ PgConf.Russia 2016] || February 3 - 5, 2015 || Russia || Moscow || Talks, Tutorials<br />
|-<br />
| Nordic PGDay 2016 || [http://2016.nordicpgday.org/ 2016.nordicpgday.org] || March 17, 2016 || Finland || Helsinki || Talks<br />
|-<br />
| PGConf US 2016 || [http://www.pgconf.us/ www.pgconf.us] || April 18 - 20, 2016 || USA || New York || Training, Talks, Summit<br />
|-<br />
| PGBR 2016 || [http://pgbr.postgresql.org.br/ PGBR2016] || November 16-18, 2016 || Brazil || Porto Alegre || Talks, Tutorials, Conference<br />
|}<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2014 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/2015 PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/2015/ PGConf US 2015] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://pgdaycuritiba.blogspot.com.br/ PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || Talks<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, [[PostgreSQL Conference Europe Talks 2015|Talks]]<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=25449Events2015-07-13T03:54:27Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGCon 2015 || [http://www.pgcon.org/2015/ pgcon.org] || June 16 - 20, 2015 || Canada || Ottawa || Talks<br />
|-<br />
| PGDay Ecuador 2015 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2015 PGDay Ecuador 2015] || July 4th, 2015 || Ecuador || Guayaquil || Talks<br />
|-<br />
| PGDay UK || [http://www.postgresqlusergroup.org.uk/ postgresqlusergroup.org.uk] || July 7th, 2015 || United Kingdom || London || Talks<br />
|-<br />
| PGDay Curitiba 2015 || [http://http://pgdaycuritiba.blogspot.com.br// PGDay Curitiba 2015] || September 18, 2015 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PostgresOpen 2015 || [http://2015.postgresopen.org/ 2015.postgresopen.org] || September 16-18, 2015 || United States || Dallas || Talks<br />
|-<br />
| PGDay Campinas 2015 || [http://pgdaycampinas.com.br/ PGDay Campinas 2015] || August 7, 2015 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PG Conference Europe 2015 || [http://2015.pgconf.eu/ 2015.pgconf.eu] || October 27-30, 2015 || Austria || Vienna || Training, Talks<br />
|-<br />
| PGConf Silicon Valley 2015 || [http://www.pgconfsv.com/ pgconfsv.com] || November 17-18, 2015 || United States || South San Francisco || Talks, Tutorials, Conference<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PGConf.DE || [http://pgconf.de/ pgconf.de] || November 26-27, 2015 || Germany || Hamburg || Training, Talks<br />
|- }<br />
<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing 2015'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| FOSDEM PGDay 2015 || [http://fosdem2015.pgconf.eu/ fosdem2015.pgconf.eu] || January 30, 2014 || Belgium || Brussels || [[FOSDEM_2015|Talks]]<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/ PgConf.Russia 2015] || February 5 - 6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| pgDaySF 2015 || [http://sfpostgres.org/pgday-sf-2015/] || March 10, 2015 || San Francisco || USA || Talks<br />
|-<br />
| Nordic PGDay 2015 || [http://2015.nordicpgday.org/ 2015.nordicpgday.org] || March 11, 2015 || Denmark || Copenhagen || [[Nordic_PGDay_2015|Talks]]<br />
|-<br />
| PGConf US 2015 || [http://www.pgconf.us/ pgconf.us] || March 25 - 27, 2015 || USA || New York || Training, [[PgConfUS_Talks_2015|Talks]], Summit<br />
|-<br />
| PGDay in China DTCC || [http://dtcc.it168.com/ dtcc.it168.com] || April 18, 2015 || China || Beijing || Talks, Conference<br />
|-<br />
| PGDay 2015 in TURKEY || [http://pgday.postgresql.org.tr/ pgday.postgresql.org.tr] || May 09, 2015 || Turkey || Istanbul || Talks, Conference<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
|-<br />
| colspan="6" | [[Events/2014 | 2014 events]]<br />
|-<br />
| colspan="6" | [[Events/2013 | 2013 events]]<br />
|-<br />
| colspan="6" | [[Events/2012 | 2012 events]]<br />
|-<br />
| colspan="6" | [[Events/2011 | 2011 events]]<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=25121PgCon 2015 Developer Unconference2015-06-16T17:09:30Z<p>Fabriziomello: </p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Creating the schedule, please do not change!'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
# Chris Autry<br />
# Ashutosh Bapat<br />
# Oleg Bartunov<br />
# Josh Berkus<br />
# Christopher Browne<br />
# Joe Conway<br />
# Jeff Davis<br />
# Andrew Dunstan<br />
# Ozgun Erdogan (Wednesday)<br />
# Ed Espino<br />
# Andres Freund<br />
# Stephen Frost<br />
# Masao Fujii<br />
# Etsuro Fujita<br />
# Peter Geoghegan<br />
# Kevin Grittner<br />
# Robert Haas<br />
# Ahsan Hadi<br />
# Magnus Hagander<br />
# Shigeru Hanada<br />
# Álvaro Herrera<br />
# Kyotaro Horiguchi<br />
# Thierry Husson (Wednesday @ 11am)<br />
# Ayumi Ishii<br />
# Tatsuo Ishii<br />
# Moshe Jacobson<br />
# Stefan Kaltenbrunner<br />
# Amit Kapila<br />
# Konstantin Knizhnik<br />
# KaiGai Kohei (arrive tuesday evening)<br />
# Alexander Korotkov<br />
# Ilya Kosmodemiansky<br />
# Tom Lane<br />
# Amit Langote<br />
# Heikki Linnakangas<br />
# Chris Malek (Wednesday @ 11am)<br />
# Grant McAlister<br />
# Mack McCauley<br />
# Noah Misch<br />
# Bruce Momjian<br />
# Yugo Nagata<br />
# Satoshi Nagayasu<br />
# Jim Nasby<br />
# Dave Page<br />
# Christophe Pettus<br />
# Paul Ramsey<br />
# Kumar Rajeev Rastogi<br />
# Simon Riggs<br />
# Michael Robinson<br />
# Tetsuo Sakata<br />
# Masahiko Sawada<br />
# Dilip Kumar<br />
# Marco Slot <br />
# Greg Smith<br />
# Steve Singer (arrive tuesday mid-afternoon)<br />
# Jose Luis Tallon (arrives tuesday evening)<br />
# Rod Taylor<br />
# Jan Urbański (Wednesday)<br />
# Tomas Vondra<br />
# Jan Wieck (arrive tuesday evening)<br />
# Chris Winters<br />
# Nat Wyatt<br />
# Naoya Anzai (arrive tuesday evening)<br />
# David Steele (arrive tuesday evening)<br />
# Ingmar Alting<br />
# Mehmet Emin KARAKAŞ<br />
# Yasin TATAR<br />
# Fabrízio de Royes Mello<br />
# Euler Taveira<br />
# Fabio Telles<br />
# Dan Shuster<br />
# Arul Shaji<br />
# Motoyuki Kawaba (arrive Tuesday evening)<br />
# Yurie Enomoto<br />
# Yasuo Honda<br />
# Rob Young<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Room<br />
!Time<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|Picture!<br />
|DMS1110<br />
|Wed - 17:30<br />
|Open<br />
|Oleg Bartunov (Fuji 16-55)<br />
|All!<br />
|All!<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|DMS1160<br />
|Tue - 14:45 - 15:45<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander, Joe Conway, David Steele, Fabrízio de Royes Mello, Satoshi Nagayasu, Dave Cramer, Alexander Korotkov, Chris Malek, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|DMS1160<br />
|Tue - 16:00 - 17:30<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus, Joe Conway, Michael Robinson, Oleg Bartunov, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|DMS1160<br />
|Wed - 11:30 - 13:00<br />
|Open<br />
|Amit Kapila<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen, Ilya Kosmodemiansky, Tomas Vondra, Grant McAlister, Joe Conway, Peter Geoghegan, Kyotaro Horiguchi, Simon Riggs, Amit Langote, Andres Freund, Robert Haas, David Steele, Rod Taylor, Jim Nasby, Chris Winters, Nat Wyatt, Noah Misch, Masao Fujii, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Andrew Dunstan, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Dave Cramer, Steve Singer, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Marc Jeanneret, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|DMS1160<br />
|Wed - 10:00 - 11:15<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|Noah Misch, Álvaro Herrera, Andres Freund, Robert Haas, Tom Lane, Andrew Dunstan,Oleg Bartunov<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|DMS1120<br />
|Tue - 14:45 - 15:45<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis, Ozgun Erdogan, Tomas Vondra, Peter Geoghegan, Robert Haas, Chris Browne, Josh Berkus, Ingmar Alting, Masao Fujii, Christophe Pettus, Jose Luis Tallon, Heikki Linnakangas, Alexander Korotkov,Oleg Bartunov,Konstantin Knizhnik<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|DMS1160<br />
|Wed - 14:00 - 15:00<br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Tetsuo Sakata, Simon Riggs, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Josh Berkus, Chris Winters, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Satoshi Nagayasu, Andrew Dunstan, Mack McCauley, Shigeru HANADA, Michael Robinson, Steve Singer, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Andres Freund, Marc Jeanneret, Chris Malek, Marco Slot<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|DMS1160<br />
|Wed - Lunch<br />
|Closed<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|During Lunch Wed.<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|DMS1160<br />
|Tue 13:30 - 14:30<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat, Ahsan Hadi, Yurie Enomoto, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|DMS1160<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi, KaiGai Kohei, Noah Misch, Tetsuo Sakata, Peter Geoghegan, Álvaro Herrera, Thierry Husson, Joe Conway, Naoya Anzai, Robert Haas, David Steele, Chris Browne, Jim Nasby, Josh Berkus, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Andrew Dunstan, Jose Luis Tallon, Yurie Enomoto, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Yasuo Honda, Dave Cramer,Steve Singer, Alexander Korotkov, Oleg Bartunov,Konstantin Knizhnik, Chris Malek, Ed Espino<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|DMS1120<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Noah Misch, Tetsuo Sakata, Naoya Anzai, Robert Haas, Jim Nasby, Josh Berkus, Chris Winters, Ingmar Alting, Mehmet Emin KARAKAŞ, Jose Luis Tallon, Oleg Bartunov, Konstanti Knizhnik, Chris Malek<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductors - GPU, SSD, NVRAM, FPGA, PMEM...<br />
|DMS1120<br />
|Wed 10:00 - 11:15<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|Matthew Wilcox, Josh Berkus, Satoshi Nagayasu, Jose Luis Tallon, Naoya Anzai, Mack McCauley, Shigeru HANADA, Michael Robinson, Ingmar Alting<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Columnar Storage<br />
|DMS1160<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
|Álvaro Herrera<br />
|Ozgun Erdogan, Tomas Vondra, KaiGai Kohei, Amit Kapila, Josh Berkus, Naoya Anzai, Amit Langote, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Chris Winters, Nat Wyatt, Masao Fujii, Fabrízio de Royes Mello, Euler Taveira, Satoshi Nagayasu, Mack McCauley, Masahiko Sawada, Shigeru HANADA, Michael Robinson, Heikki Linnakangas, Alexander Korotkov, Oleg Bartunov, Konstantin Knizhnik, Andres Freund, Marc Jeanneret, Marco Slot, Ed Espino, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|DMS1120<br />
|Wed 14:00 - 15:00<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kumar Rajeev Rastogi, Josh Berkus, Simon Riggs, Robert Haas, Jim Nasby, Masao Fujii, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Fabio Telles, Yurie Enomoto, Masahiko Sawada, Shigeru HANADA, Yasuo Honda,Steve Singer, Marc Jeanneret<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|DMS1120<br />
|Tue 13:30 - 14:30<br />
|Open<br />
|<br />
|Jeff Davis<br />
|Kumar Rajeev Rastogi, Noah Misch, Ilya Kosmodemiansky, Amit Kapila, Simon Riggs, Rod Taylor, Jim Nasby, Josh Berkus, Nat Wyatt, Christophe Pettus, Satoshi Nagayasu<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Slony Development]]<br />
|DMS1110<br />
|Wed 10:00 - 11:15<br />
|Open<br />
|<br />
| Steve Singer, Chris Browne, Jan Wieck<br />
| Josh Berkus, Rod Taylor, Jim Nasby, Satoshi Nagayasu, Yurie Enomoto<br />
<br />
|- style="background-color:lightgray;"<br />
|[[DockerizingPostgres|Dockerizing Postgres]]<br />
|DMS1120<br />
|Wed 11:30 - 13:00<br />
|Open<br />
|<br />
| Josh Berkus<br />
| Simon Riggs, Nat Wyatt, Christophe Pettus, Fabrízio de Royes Mello, Jan Urbański, Michael Robinson, Jeff Davis, Rob Young<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Bi Directional Replication & Logical Decoding|BDR]]<br />
|DMS1110<br />
|Tue 16:00 - 17:30<br />
|Open<br />
|<br />
| Simon Riggs<br />
| Andres Freund, Jim Nasby, Josh Berkus, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello, Euler Taveira, Michael Robinson, Dave Cramer,Steve Singer, Jeff Davis, Arul Shaji<br />
<br />
|- style="background-color:lightgray;"<br />
|Autonomous Transactions<br />
|DMS1110<br />
|Tue 14:45 - 15:45<br />
|Open<br />
|<br />
| Simon Riggs, Kumar Rajeev Rastogi<br />
| David Steele, Jim Nasby, Josh Berkus, Nat Wyatt, Masao Fujii, Euler Taveira, Andrew Dunstan, Masahiko Sawada, Michael Robinson, Amit Kapila, Chris Malek, Arul Shaji, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Audit Logging<br />
|DMS1110<br />
|Wed 16:30 - 17:30<br />
|Open<br />
|<br />
| David Steele<br />
| Josh Berkus, Nat Wyatt, Masao Fujii, Christophe Pettus, Fabio Telles, Satoshi Nagayasu, Yurie Enomoto, Mack McCauley, Masahiko Sawada, Michael Robinson, Oleg Bartunov<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pg_shard v2.0 and Lessons Learned from NoSQL Databases ]]<br />
|DMS1110<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
| Ozgun Erdogan, Marco Slot <br />
| Josh Berkus, Jim Nasby, Josh Berkus, Chris Winters, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello, Satoshi Nagayasu, Shigeru HANADA, Michael Robinson, Oleg Bartunov, Chris Malek<br />
<br />
<br />
|- style="background-color:lightgray;"<br />
|Direction of json and jsonb<br />
|DMS1110<br />
|Wed 11:30 - 13:00<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus, Masahiko Sawada, Michael Robinson, Rod Taylor, Alexander Korotkov, Oleg Bartunov, Chris Malek, Jeff Davis<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Sparse Set Type <br />
|DMS1110<br />
|Wed 14:00 - 15:00<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Michael Robinson<br />
<br />
|- style="background-color:lightgray;"<br />
|Testing Framework Adequacy<br />
|DMS1120<br />
|Wed 15:15 - 16:15<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus, Mack McCauley, Michael Robinson,Steve Singer, Oleg Bartunov, Ed Espino<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Vertical Scalability w.r.t Writes ==<br />
Purpose of this discussion:<br />
* Discuss about priority/importance of various performance and scalability problems<br />
* Solution/Idea to solve most important problem('s)<br />
* Is pgbench sufficient to capture various kind of real world workloads?<br />
<br />
Some of important performance problems I have in mind are:<br />
* Avoid/Reduce Vacuum Freeze<br />
* Bloat<br />
Heap<br />
Index<br />
* Instability in TPS due to checkpointer flush<br />
* Tuple size<br />
Heap Tuple Header <br />
Alignment in index can lead to bigger index size for simple datatypes<br />
Scalability bottlenecks<br />
* Locks<br />
ProcArrayLock<br />
WALWriteLock<br />
CLOGControlLock<br />
Lock for Relation Extension<br />
<br />
* Writes, especially when data doesn't fit in shared buffers.<br />
Write Performance<br />
Double Buffering<br />
In-memory table/tablespaces<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* This will be, ehem, secure so nothing will be written here<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like executor node for partitioned tables<br />
* DML/DDL restrictions on partitioned tables and partitions<br />
* Basically any considerations for partitioned tables and partitions that are explicitly defined so at a layer that's above the storage layer<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductors ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Columnar Storage ==<br />
<br />
See Alvaro's [http://www.postgresql.org/message-id/20150611230316.GM133018@postgresql.org email to Hackers].<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Audit Logging ==<br />
<br />
Audit logging is an important part of a RDBMS for many users and applications. Discuss how best to incorporate audit logging into PostgreSQL and what must be included at a minimum to make the feature viable. <br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Direction of json and jsonb ==<br />
<br />
=== Meeting Notes ===<br />
What are the future needs of the JSON types? Recent suggestions have included an indexable "exists" operator, the JSON pointer and JSON patch standards, <br />
recursive merge, intersection, and being able to assign to a subdocument (json#>path as an lvalue). What are people using these types for, and what are <br />
the major gaps in functionality?<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Sparse Set Type ==<br />
<br />
Sets over small domains can be reasonably modeled by bitmaps, but sets over very large domains can not.<br />
Is there a need for such sets? How would we implement them? Arrays? Balanced trees? Something else?<br />
What types of sets would we allow? Anything with Btree operators, or more restricted? What would the notation look like?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Testing Framework Adequacy ==<br />
<br />
The buildfarm is more than 10 years old, and the testing needs of Postgres and its ofware ecosystem have changed radically in that time.<br />
What do we now need in the way of testing? How do we test complex arrangements such as the various sorts of replication in an automated way?<br />
Do we need a new framwork, or can the existing framework be adapted to our needs?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=25027PgCon 2015 Developer Unconference2015-06-14T00:37:40Z<p>Fabriziomello: /* Topics */</p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Christopher Browne<br />
* Joe Conway<br />
* Jeff Davis<br />
* Andrew Dunstan<br />
* Ozgun Erdogan<br />
* Andres Freund<br />
* Stephen Frost<br />
* Masao Fujii<br />
* Etsuro Fujita<br />
* Peter Geoghegan<br />
* Kevin Grittner<br />
* Robert Haas<br />
* Ahsan Hadi<br />
* Magnus Hagander<br />
* Shigeru Hanada<br />
* Álvaro Herrera<br />
* Kyotaro Horiguchi<br />
* Thierry Husson (Wednesday @ 11am)<br />
* Ayumi Ishii<br />
* Tatsuo Ishii<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* KaiGai Kohei (arrive tuesday evening)<br />
* Alexander Korotkov<br />
* Ilya Kosmodemiansky<br />
* Tom Lane<br />
* Amit Langote<br />
* Grant McAlister<br />
* Noah Misch<br />
* Bruce Momjian<br />
* Yugo Nagata<br />
* Jim Nasby<br />
* Dave Page<br />
* Christophe Pettus<br />
* Paul Ramsey<br />
* Kumar Rajeev Rastogi<br />
* Simon Riggs<br />
* Tetsuo Sakata<br />
* Masahiko Sawada<br />
* Marco Slot (Wednesday)<br />
* Greg Smith<br />
* Steve Singer (arrive tuesday mid-afternoon)<br />
* Rod Taylor<br />
* Tomas Vondra<br />
* Jan Wieck (arrive tuesday evening)<br />
* Chris Winters<br />
* Nat Wyatt<br />
* Naoya Anzai (arrive tuesday evening)<br />
* David Steele (arrive tuesday evening)<br />
* Ingmar Alting<br />
* Mehmet Emin KARAKAŞ<br />
* Yasin TATAR<br />
* Fabrízio de Royes Mello<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|Picture!<br />
|Open<br />
|<br />
|All!<br />
|All!<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander, Joe Conway, David Steele, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander, Joe Conway<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus, Joe Conway<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|Amit Kapila<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen, Ilya Kosmodemiansky, Tomas Vondra, Grant McAlister, Joe Conway, Kyotaro Horiguchi, Simon Riggs, Amit Langote, Andres Freund, Robert Haas, David Steele, Rod Taylor, Jim Nasby, Chris Winters, Nat Wyatt, Noah Misch, Masao Fujii, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|Noah Misch, Álvaro Herrera, Andres Freund, Robert Haas, Tom Lane<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis, Ozgun Erdogan, Tomas Vondra, Robert Haas, Chris Browne, Josh Berkus, Ingmar Alting, Masao Fujii, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Tetsuo Sakata, Simon Riggs, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Josh Berkus, Chris Winters, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open*<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat, Ahsan Hadi<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi, KaiGai Kohei, Noah Misch, Tetsuo Sakata, Álvaro Herrera, Thierry Husson, Joe Conway, Naoya Anzai, Robert Haas, David Steele, Chris Browne, Jim Nasby, Josh Berkus, Masao Fujii, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Noah Misch, Tetsuo Sakata, Naoya Anzai, Robert Haas, Jim Nasby, Josh Berkus, Chris Winters, Ingmar Alting, Mehmet Emin KARAKAŞ<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, PMEM...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|Matthew Wilcox, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Columnar Storage<br />
|Open<br />
|<br />
|Álvaro Herrera<br />
|Ozgun Erdogan, Tomas Vondra, KaiGai Kohei, Amit Kapila, Josh Berkus, Naoya Anzai, Amit Langote, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Chris Winters, Nat Wyatt, Masao Fujii, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kumar Rajeev Rastogi, Josh Berkus, Simon Riggs, Robert Haas, Jim Nasby, Masao Fujii, Christophe Pettus, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|Kumar Rajeev Rastogi, Noah Misch, Ilya Kosmodemiansky, Amit Kapila, Simon Riggs, Rod Taylor, Jim Nasby, Josh Berkus, Nat Wyatt, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Slony Development]]<br />
|Open<br />
|<br />
| Steve Singer, Chris Browne, Jan Wieck<br />
| Josh Berkus, Rod Taylor, Jim Nasby<br />
<br />
|- style="background-color:lightgray;"<br />
|[[DockerizingPostgres|Dockerizing Postgres]]<br />
|Open<br />
|<br />
| Josh Berkus<br />
| Simon Riggs, Nat Wyatt, Christophe Pettus, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Bi Directional Replication & Logical Decoding|BDR]]<br />
|Open<br />
|<br />
| Simon Riggs<br />
| Andres Freund, Jim Nasby, Josh Berkus, Mehmet Emin KARAKAŞ, Christophe Pettus, Fabrízio de Royes Mello<br />
<br />
|- style="background-color:lightgray;"<br />
|Autonomous Transactions<br />
|Open<br />
|<br />
| Simon Riggs, Kumar Rajeev Rastogi<br />
| David Steele, Jim Nasby, Josh Berkus, Nat Wyatt, Masao Fujii<br />
<br />
|- style="background-color:lightgray;"<br />
|Audit Logging<br />
|Open<br />
|<br />
| David Steele<br />
| Josh Berkus, Nat Wyatt, Masao Fujii, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pg_shard v2.0 and Lessons Learned from NoSQL Databases ]]<br />
|Open<br />
|<br />
| Ozgun Erdogan, Marco Slot <br />
| Josh Berkus, Jim Nasby, Josh Berkus, Chris Winters, Mehmet Emin KARAKAŞ, Fabrízio de Royes Mello<br />
<br />
<br />
|- style="background-color:lightgray;"<br />
|Direction of json and jsonb<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Sparse Set Type <br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Testing Framework Adequacy<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Vertical Scalability w.r.t Writes ==<br />
Purpose of this discussion:<br />
* Discuss about priority/importance of various performance and scalability problems<br />
* Solution/Idea to solve most important problem('s)<br />
* Is pgbench sufficient to capture various kind of real world workloads?<br />
<br />
Some of important performance problems I have in mind are:<br />
* Avoid/Reduce Vacuum Freeze<br />
* Bloat<br />
Heap<br />
Index<br />
* Instability in TPS due to checkpointer flush<br />
* Tuple size<br />
Heap Tuple Header <br />
Alignment in index can lead to bigger index size for simple datatypes<br />
Scalability bottlenecks<br />
* Locks<br />
ProcArrayLock<br />
WALWriteLock<br />
CLOGControlLock<br />
Lock for Relation Extension<br />
<br />
* Writes, especially when data doesn't fit in shared buffers.<br />
Write Performance<br />
Double Buffering<br />
In-memory table/tablespaces<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* This will be, ehem, secure so nothing will be written here<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like executor node for partitioned tables<br />
* DML/DDL restrictions on partitioned tables and partitions<br />
* Basically any considerations for partitioned tables and partitions that are explicitly defined so at a layer that's above the storage layer<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Columnar Storage ==<br />
<br />
See Alvaro's [http://www.postgresql.org/message-id/20150611230316.GM133018@postgresql.org email to Hackers].<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Audit Logging ==<br />
<br />
Audit logging is an important part of a RDBMS for many users and applications. Discuss how best to incorporate audit logging into PostgreSQL and what must be included at a minimum to make the feature viable. <br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Direction of json and jsonb ==<br />
<br />
=== Meeting Notes ===<br />
What are the future needs of the JSON types? Recent suggestions have included an indexable "exists" operator, the json pointer and json patch standards, <br />
recursive merge, intersection, and being able to sssign to a subdocument (json#>path as an lvalue). .What are people using these types for, and what are <br />
the major gaps in functionality?<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Sparse Set Type ==<br />
<br />
Sets over small domains can be reasonably modeled by bitmaps, but sets over very large domains can not.<br />
Is there a need for such sets? How would we implement them? Arrays? Balanced trees? Something else?<br />
What types of sets would we allow? Anything with Btree operators, or more restricted? What would the notation look like?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Testing Framework Adequacy ==<br />
<br />
The buildfarm is more than 10 years old, and the testing needs of Postgres and its ofware ecosystem have changed radically in that time.<br />
What do we now need in the way of testing? How do we test complex arrangements such as the various sorts of replication in an automated way?<br />
Do we need a new framwork, or can the existing framework be adapted to our needs?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=PgCon_2015_Developer_Unconference&diff=25026PgCon 2015 Developer Unconference2015-06-14T00:33:46Z<p>Fabriziomello: </p>
<hr />
<div>An Unconference-style multi-track (three tracks are currently planned) event for active PostgreSQL developers will be held from the afternoon of Tuesday 16 June, 2015 through Wednesday 17 June 2015 at the University of Ottawa, as part of PGCon 2015. This Unconference will be focused on technical PostgreSQL development discussions ranging from Clustering and replication to the infrastructure which runs postgresql.org.<br />
<br />
'''Please add your name under RSVPs if you plan to attend.'''<br />
<br />
== Topics ==<br />
<br />
Developers are asked to propose topics which they wish to either present on or which they would like another individual to present on. All topics should be clearly related to PostgreSQL development. The topic should be added to the table below and any required attendees (presumably at least the presenter, and the requester if different) listed. Other attendees of the Unconference who are interested should list themselves as Optional. Note that non-technical topics related to PostgreSQL development will be addressed during the invite-only Developer meeting, being held in advance of the Unconference. Further, the Developer Unconference is for developers of PostgreSQL and user-oriented topics are not appropriate for this venue.<br />
<br />
== Slot assignment ==<br />
<br />
Slots will be assigned based on the topic's interest among the attendees of the Unconference (the number of individuals who listed themselves as attendees). Final determination on any particular topic will be made by the Unconference organizers. Please only participate if you are confident of your attendance at the Unconference.<br />
<br />
== Venue ==<br />
<br />
These meetings will be held at the University of Ottawa. The topics selected, the schedule and the specific room assignments will be published closer to the event and will be based on the information provided here. Please direct any questions to Dave Page (dpage@pgadmin.org).<br />
<br />
== Sponsorship ==<br />
<br />
The Developer Unconference will be sponsored by Salesforce.com, and by NTT Open Source for the Clustering Track.<br />
<br />
== Attendees ==<br />
<br />
While the Unconference is open to all attendees of PGCon, formal invitations will be sent to specific PostgreSQL developers, including the Core team, Major Contributors, Committers, and other developers who have been involved in the 9.4 release. These invitations are intended to encourage developers to attend the Unconference but we are unable to guarantee every invitee a speaking slot.<br />
<br />
== RSVPs ==<br />
<br />
The following people have RSVPed to the meeting (in alphabetical order, by surname):<br />
<br />
* Ashutosh Bapat<br />
* Oleg Bartunov<br />
* Josh Berkus<br />
* Christopher Browne<br />
* Joe Conway<br />
* Jeff Davis<br />
* Andrew Dunstan<br />
* Ozgun Erdogan<br />
* Andres Freund<br />
* Stephen Frost<br />
* Masao Fujii<br />
* Etsuro Fujita<br />
* Peter Geoghegan<br />
* Kevin Grittner<br />
* Robert Haas<br />
* Ahsan Hadi<br />
* Magnus Hagander<br />
* Shigeru Hanada<br />
* Álvaro Herrera<br />
* Kyotaro Horiguchi<br />
* Thierry Husson (Wednesday @ 11am)<br />
* Ayumi Ishii<br />
* Tatsuo Ishii<br />
* Stefan Kaltenbrunner<br />
* Amit Kapila<br />
* Konstantin Knizhnik<br />
* KaiGai Kohei (arrive tuesday evening)<br />
* Alexander Korotkov<br />
* Ilya Kosmodemiansky<br />
* Tom Lane<br />
* Amit Langote<br />
* Grant McAlister<br />
* Noah Misch<br />
* Bruce Momjian<br />
* Yugo Nagata<br />
* Jim Nasby<br />
* Dave Page<br />
* Christophe Pettus<br />
* Paul Ramsey<br />
* Kumar Rajeev Rastogi<br />
* Simon Riggs<br />
* Tetsuo Sakata<br />
* Masahiko Sawada<br />
* Marco Slot (Wednesday)<br />
* Greg Smith<br />
* Steve Singer (arrive tuesday mid-afternoon)<br />
* Rod Taylor<br />
* Tomas Vondra<br />
* Jan Wieck (arrive tuesday evening)<br />
* Chris Winters<br />
* Nat Wyatt<br />
* Naoya Anzai (arrive tuesday evening)<br />
* David Steele (arrive tuesday evening)<br />
* Ingmar Alting<br />
* Mehmet Emin KARAKAŞ<br />
* Yasin TATAR<br />
* Fabrízio de Royes Mello<br />
<br />
=Topics=<br />
<br />
'''Please add any topics you wish covered to the table.'''<br />
<br />
'''For any topics you are requesting or presenting on, please add your name in the Required column.'''<br />
<br />
'''For any topics you would like to attend, please add your name in the Interested column.'''<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
!Topic<br />
!Policy<br />
!Taker of Notes<br />
!Required Attendees<br />
!Interested Attendees<br />
<br />
|- style="background-color:lightgray;"<br />
|Picture!<br />
|Open<br />
|<br />
|All!<br />
|All!<br />
<br />
|- style="background-color:lightgray;"<br />
|pgAdmin4<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost<br />
|Magnus Hagander, Joe Conway, David Steele<br />
<br />
|- style="background-color:lightgray;"<br />
|Infrastructure Q&A<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander, Joe Conway<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|WWW Team Meeting<br />
|Open<br />
|<br />
|Dave Page, Stephen Frost, Stefan Kaltenbrunner, Magnus Hagander<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|Advocacy Team Meeting<br />
|Open<br />
|<br />
|Stephen Frost<br />
|Magnus Hagander, Greg Smith, Jim Nasby, Josh Berkus, Joe Conway<br />
<br />
|- style="background-color:lightgray;"<br />
|Vertical Scalability w.r.t Writes<br />
|Open<br />
|Amit Kapila<br />
|Amit Kapila<br />
|Greg Smith, Hannu Valtonen, Ilya Kosmodemiansky, Tomas Vondra, Grant McAlister, Joe Conway, Kyotaro Horiguchi, Simon Riggs, Amit Langote, Andres Freund, Robert Haas, David Steele, Rod Taylor, Jim Nasby, Chris Winters, Nat Wyatt, Noah Misch, Masao Fujii, Mehmet Emin KARAKAŞ, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|Security Team Meeting<br />
|Closed<br />
|<br />
|Heikki Linnakangas, Stephen Frost, Magnus Hagander<br />
|Noah Misch, Álvaro Herrera, Andres Freund, Robert Haas, Tom Lane<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Compilation + LLVM<br />
|Open<br />
|<br />
|Kumar Rajeev Rastogi<br />
|Jeff Davis, Ozgun Erdogan, Tomas Vondra, Robert Haas, Chris Browne, Josh Berkus, Ingmar Alting, Masao Fujii, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Horizontal Scalability / Sharding in PostgreSQL]] - ground covered so far and remaining to be covered. <br />
|Open<br />
|<br />
|Ahsan Hadi, Ashutosh Bapat, Etsuro Fujita<br />
|Hannu Valtonen, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Tetsuo Sakata, Simon Riggs, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Josh Berkus, Chris Winters, Masao Fujii, Mehmet Emin KARAKAŞ<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PGCAC Board Meeting 2015]]<br />
|Open*<br />
|Josh Berkus<br />
|Josh Berkus, Chris Browne, Steve Singer, Dan Langille, Dave Page<br />
|<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pgPool2 towards version 3.5]]<br />
|Open<br />
|<br />
|Tatsuo Ishii<br />
|Ashutosh Bapat, Ahsan Hadi<br />
<br />
|- style="background-color:lightgray;"<br />
|Partitioning<br />
|Open<br />
|<br />
|Amit Langote<br />
|Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Kyotaro Horiguchi, KaiGai Kohei, Noah Misch, Tetsuo Sakata, Álvaro Herrera, Thierry Husson, Joe Conway, Naoya Anzai, Robert Haas, David Steele, Chris Browne, Jim Nasby, Josh Berkus, Masao Fujii, Mehmet Emin KARAKAŞ<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Foreign Data Wrapper enhancements]]<br />
|Open<br />
|<br />
|Shigeru Hanada, Etsuro Fujita<br />
|KaiGai Kohei, Hannu Valtonen, Ashutosh Bapat, Jeff Davis, Amit Langote, Kyotaro Horiguchi, Noah Misch, Tetsuo Sakata, Naoya Anzai, Robert Haas, Jim Nasby, Josh Berkus, Chris Winters, Ingmar Alting, Mehmet Emin KARAKAŞ<br />
<br />
|- style="background-color:lightgray;"<br />
|Utilization of modern semiconductor - GPU, SSD, NVRAM, FPGA, PMEM...<br />
|Open<br />
|<br />
|KaiGai Kohei<br />
|Matthew Wilcox, Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Columnar Storage<br />
|Open<br />
|<br />
|Álvaro Herrera<br />
|Ozgun Erdogan, Tomas Vondra, KaiGai Kohei, Amit Kapila, Josh Berkus, Naoya Anzai, Amit Langote, Robert Haas, David Steele, Rod Taylor, Chris Browne, Jim Nasby, Chris Winters, Nat Wyatt, Masao Fujii<br />
<br />
|- style="background-color:lightgray;"<br />
|Future of PostgreSQL shared-nothing cluster<br />
|Open<br />
|<br />
|Konstantin Knizhnik, Alexander Korotkov, Oleg Bartunov<br />
|Jeff Davis, Amit Langote, Kumar Rajeev Rastogi, Josh Berkus, Simon Riggs, Robert Haas, Jim Nasby, Masao Fujii, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PostgreSQL and SMR Drives]] - the future of magnetic storage means very expensive random writes<br />
|Open<br />
|<br />
|Jeff Davis<br />
|Kumar Rajeev Rastogi, Noah Misch, Ilya Kosmodemiansky, Amit Kapila, Simon Riggs, Rod Taylor, Jim Nasby, Josh Berkus, Nat Wyatt, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Slony Development]]<br />
|Open<br />
|<br />
| Steve Singer, Chris Browne, Jan Wieck<br />
| Josh Berkus, Rod Taylor, Jim Nasby<br />
<br />
|- style="background-color:lightgray;"<br />
|[[DockerizingPostgres|Dockerizing Postgres]]<br />
|Open<br />
|<br />
| Josh Berkus<br />
| Simon Riggs, Nat Wyatt, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|Bi Directional Replication & Logical Decoding|BDR]]<br />
|Open<br />
|<br />
| Simon Riggs<br />
| Andres Freund, Jim Nasby, Josh Berkus, Mehmet Emin KARAKAŞ, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|Autonomous Transactions<br />
|Open<br />
|<br />
| Simon Riggs, Kumar Rajeev Rastogi<br />
| David Steele, Jim Nasby, Josh Berkus, Nat Wyatt, Masao Fujii<br />
<br />
|- style="background-color:lightgray;"<br />
|Audit Logging<br />
|Open<br />
|<br />
| David Steele<br />
| Josh Berkus, Nat Wyatt, Masao Fujii, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|[[PgCon2015ClusterSummit|pg_shard v2.0 and Lessons Learned from NoSQL Databases ]]<br />
|Open<br />
|<br />
| Ozgun Erdogan, Marco Slot <br />
| Josh Berkus, Jim Nasby, Josh Berkus, Chris Winters, Mehmet Emin KARAKAŞ<br />
<br />
<br />
|- style="background-color:lightgray;"<br />
|Direction of json and jsonb<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus<br />
<br />
|- style="background-color:lightgray;"<br />
|Native Sparse Set Type <br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus<br />
<br />
|- style="background-color:lightgray;"<br />
|Testing Framework Adequacy<br />
|Open<br />
|<br />
| Andrew Dunstan<br />
| Josh Berkus, Christophe Pettus<br />
<br />
|}<br />
<br />
== pgAdmin4 ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Infrastructure Q&A ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== WWW Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Advocacy Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Vertical Scalability w.r.t Writes ==<br />
Purpose of this discussion:<br />
* Discuss about priority/importance of various performance and scalability problems<br />
* Solution/Idea to solve most important problem('s)<br />
* Is pgbench sufficient to capture various kind of real world workloads?<br />
<br />
Some of important performance problems I have in mind are:<br />
* Avoid/Reduce Vacuum Freeze<br />
* Bloat<br />
Heap<br />
Index<br />
* Instability in TPS due to checkpointer flush<br />
* Tuple size<br />
Heap Tuple Header <br />
Alignment in index can lead to bigger index size for simple datatypes<br />
Scalability bottlenecks<br />
* Locks<br />
ProcArrayLock<br />
WALWriteLock<br />
CLOGControlLock<br />
Lock for Relation Extension<br />
<br />
* Writes, especially when data doesn't fit in shared buffers.<br />
Write Performance<br />
Double Buffering<br />
In-memory table/tablespaces<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Security Team Meeting ==<br />
<br />
=== Meeting Notes ===<br />
* This will be, ehem, secure so nothing will be written here<br />
<br />
== Partitioning ==<br />
Proposal to enhance partitioning support in PostgreSQL was posted to -hackers last year and resulted in discussion of some ideas regarding implementation. Late in the discussion, a crude WIP patch was also posted with some experimental syntax, catalog changes, an idea for internal representation and a proof-of-concept INSERT tuple routing function demonstrating practicality of the internal representation. It would be nice to carry the discussion forward at the same time implementing a patch to be proposed, reviewed early in the 9.6 development cycle. Points to discuss could be: <br />
<br />
* New features and old inheritance based implementation<br />
* Planner considerations for new partitioned table<br />
* Need for a new Append-like executor node for partitioned tables<br />
* DML/DDL restrictions on partitioned tables and partitions<br />
* Basically any considerations for partitioned tables and partitions that are explicitly defined so at a layer that's above the storage layer<br />
* Other points that come up<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Utilization of modern semiconductor ==<br />
Recent evolution of semiconductor devices make us re-consider the assumption we stand on, and utilization of its power is key of innovation.<br />
We'd like to have a discussion to get the future direction in short and middle/long term.<br />
<br />
* GPU, FPGA - have advantage on simple but massive amount of calculation. It allows DBMS to perform as data processing platform that works nearby data.<br />
<br />
* SSD, NVRAM - likely, game changer of storage layer on both of read/write workloads. DBMS also has to pay attention characteristics of these devices.<br />
<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Future of PostgreSQL shared-nothing cluster ==<br />
<br />
=== Meeting Notes ===<br />
In 2015 PostgreSQL Professional company started project of migration PostgreSQL-XL to codebase of PostgreSQL 9.4 and increasing its stability and usability. At this unconference session we'd like to discuss current progress and further development. Generally we'd like to find ways to reduce difference between PostgreSQL and its shared-nothing cluster fork so that burden of the maintenance become manageable. <br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== PostgreSQL and SMR Drives ==<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Columnar Storage ==<br />
<br />
See Alvaro's [http://www.postgresql.org/message-id/20150611230316.GM133018@postgresql.org email to Hackers].<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Audit Logging ==<br />
<br />
Audit logging is an important part of a RDBMS for many users and applications. Discuss how best to incorporate audit logging into PostgreSQL and what must be included at a minimum to make the feature viable. <br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Direction of json and jsonb ==<br />
<br />
=== Meeting Notes ===<br />
What are the future needs of the JSON types? Recent suggestions have included an indexable "exists" operator, the json pointer and json patch standards, <br />
recursive merge, intersection, and being able to sssign to a subdocument (json#>path as an lvalue). .What are people using these types for, and what are <br />
the major gaps in functionality?<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Native Sparse Set Type ==<br />
<br />
Sets over small domains can be reasonably modeled by bitmaps, but sets over very large domains can not.<br />
Is there a need for such sets? How would we implement them? Arrays? Balanced trees? Something else?<br />
What types of sets would we allow? Anything with Btree operators, or more restricted? What would the notation look like?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in<br />
<br />
== Testing Framework Adequacy ==<br />
<br />
The buildfarm is more than 10 years old, and the testing needs of Postgres and its ofware ecosystem have changed radically in that time.<br />
What do we now need in the way of testing? How do we test complex arrangements such as the various sorts of replication in an automated way?<br />
Do we need a new framwork, or can the existing framework be adapted to our needs?<br />
<br />
=== Meeting Notes ===<br />
* To be filled in<br />
<br />
=== Attendees ===<br />
* To be filled in</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Improve_the_performance_of_ALTER_TABLE_SET_LOGGED_UNLOGGED_statement&diff=24621Improve the performance of ALTER TABLE SET LOGGED UNLOGGED statement2015-04-28T19:24:43Z<p>Fabriziomello: Created page with "=== Introduction === Last year during the GSoC2014 I implemented the feature to allow an unlogged table to be changed to logged [https://wiki.postgresql.org/wiki/Allow_an_unl..."</p>
<hr />
<div>=== Introduction ===<br />
<br />
Last year during the GSoC2014 I implemented the feature to allow an unlogged table to be changed to logged [https://wiki.postgresql.org/wiki/Allow_an_unlogged_table_to_be_changed_to_logged_GSoC_2014], but the desing chosen was to rewrite the entire heap in a new relfilenode with a new relpersistence because some troubles pointed here [http://www.postgresql.org/message-id/CA+Tgmob44LNwwU73N1aJsGQyzQ61SdhKJRC_89wCm0+aLg=x2Q@mail.gmail.com].<br />
<br />
The project was successfully finished and got committed [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=f41872d0c1239d36ab03393c39ec0b70e9ee2a3c] into PostgreSQL to be released this year in the 9.5 version.<br />
<br />
However this design lead us to performance problems with large relations because we need to rewrite the entire content of the relation twice, one into a new heap and other into the WAL, so this project will change the current desing of the mechanism of change an unlogged table to logged without the need to rewrite the entire heap, but just by removing the init forks and if the wal_level != minimal we'll write the contents to the WAL too.<br />
<br />
=== Benefits to the PostgreSQL Community ===<br />
<br />
The "unlogged" tables feature was introduced by 9.1 version, and provide better write performance than regular tables (logged), but are not crash-safe. Their contents are automatically discarded (cleared) if the server crashes. Also, their contents do not propagate to standby servers.<br />
<br />
We already have a way to change an unlogged table to logged using "ALTER TABLE name SET LOGGED" developed last year during the GSoC2014, now during the GSoC2015 we'll redesing the internals to improve the I/O performance of this feature removing the need of rewrite the entire heap into a new relfilenode.<br />
<br />
The are a good idea about the desing here [http://www.postgresql.org/message-id/CA+TgmoZM+-0R7h0eDPzZjbokVVQ+gAVKChmno4fypVEccW-EqA@mail.gmail.com], but I'll discuss the design with my mentor to implement this improvement.<br />
<br />
=== Additional Goals ===<br />
<br />
The main goal of this project is improve the performance of the ALTER TABLE name SET {LOGGED|UNLOGGED}, but we can expand this propostal to more related goals.<br />
<br />
* Allow unlogged materialized views<br />
** ALTER MATERIALIZED VIEW name SET { UNLOGGED | LOGGED }<br />
* Allow unlogged indexes on logged tables<br />
** ALTER INDEX name SET { UNLOGGED | LOGGED }<br />
<br />
=== Deliverables ===<br />
<br />
This project has just one deliverable at the end. The deliverable will be the improvement of the routines that transform an "unlogged" table to "logged" and "logged" to "unlogged", without the need to create a new "relfilenode" with a different "relpersistence".<br />
<br />
=== Project Schedule ===<br />
<br />
'''until May 25'''<br />
<br />
* create a website to the project (wiki.postgresql.org)<br />
* create a public repository to the project (github.com/fabriziomello)<br />
* read what has already been discussed by the community about the project [4]<br />
* learn about some PostgreSQL internals:<br />
** control data (src/include/catalog/pg_control.h)<br />
** storage (src/backend/storage/*)<br />
* discuss the additional goals with community<br />
<br />
'''May 26 - June 21'''<br />
<br />
* implementation of the first prototype:<br />
** implement the change of unlogged table to logged without rewrite the entire heap when "wal_level = minimal"<br />
** at this point when "wal_level != minimal" we use the current implementation<br />
* write documentation and the test cases<br />
* submit this first prototype to the commitfest 2015/06 (https://commitfest.postgresql.org/5/)<br />
<br />
'''June 22 - June 26'''<br />
<br />
* mentor review the work in progress<br />
<br />
'''June 27 - August 17'''<br />
<br />
* do the adjustments based on the community feedback during the commitfest 2015/06<br />
* implementation of the second prototype:<br />
** when "wal_level != minimal" we'll remove the init fork (first prototype) and write relation pages to the WAL.<br />
** implement “ALTER MATERIALIZED VIEW .. SET LOGGED / UNLOGGED”<br />
* submit to the commitfest 2015/09 for final evaluation and maybe will be committed to 9.6 version (webpage don't created yet)<br />
<br />
'''August 18 - August 21'''<br />
<br />
* do the adjustments based on the community feedback during the commitfest 2015/09 final mentor review<br />
<br />
=== About the proponent ===<br />
<br />
'''Fabrízio de Royes Mello'''<br />
* e-mail: fabriziomello at gmail dot com<br />
* twitter: @fabriziomello<br />
* github [http://github.com/fabriziomello]<br />
* linkedin [http://linkedin.com/in/fabriziomello]<br />
<br />
Currently I help people and teams to take the full potential of relational databases, especially PostgreSQL, helping teams to design the structure of the database (modeling), build physical architecture (database schema), programming (procedural languages), SQL (usage, tuning, best practices), optimization and orchestration of instances in production too. I perform a volunteer work for Brazilian Community of PostgreSQL (www.postgresql.org.br), supporting mailing lists, organizing events (pgbr.postgresql.org.br) and some admin tasks. And also I help a little the PostgreSQL Global Development Group (PGDG) in the implementation of some features and review of patches (git.postgresql.org).</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2015&diff=24620GSoC 20152015-04-28T19:11:21Z<p>Fabriziomello: </p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
== Accepted Projects ==<br />
<br />
# [[Improve the performance of ALTER TABLE SET LOGGED UNLOGGED statement|Improve the performance of "ALTER TABLE .. SET LOGGED / UNLOGGED" statement]]<br />
# [[Refining Simulated Annealing approach for query optimization|Refining Simulated Annealing approach for query optimization]]<br />
# [[Sequential disk access during VACUUM for GiST|Sequential disk access during VACUUM for GiST]]<br />
<br />
== Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
=== Core ===<br />
* UPDATE ... RETURNING OLD [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Add RETURNING to DDL (CREATE, ALTER, DROP) and possibly DCL (GRANT, REVOKE) [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Allow different datatypes to be sliced differently, when TOASTed [http://www.postgresql.org/message-id/CA+U5nMJGgJNt5VXqkR=crtDqXFmuyzwEF23-fD5NuSns+6N5dA@mail.gmail.com link]<br />
* Sequential disk access during VACUUM for GiST/GIN<br />
* Support for microvacuum for GiST<br />
* Parallel GIN build using background workers<br />
* Implement WAL logging for hash indexes<br />
* Indexing prolonged geometrical objects (i.e. boxes, circles, polygons, not points) with SP-GiST by mapping to 4d-space.<br />
* Make index selection sublinear. Useful for index partitioning (vs table partitioning).<br />
* Optimization- add to the join removal code the ability to remove joins to tables when the join is on a foreign key column (where all entries must exist in the parent anyway)<br />
* Optimization- Check the set of conditionals on a WHERE clause against CHECK constraints on the table being queried and remove any conditionals which *must* be true due to the CHECK constraints<br />
* Investigate the HashJoin code- specifically, review cases where the larger table is hashed instead of the smaller, test making NTUP_PER_BUCKET variable, etc.<br />
* Improve plpgsql error checking- look at existing discussions around GUCs which can be set to increase the warnings that plpgsql throws.<br />
* per-function temp tables (or some kind of scoping for temp tables when used inside of plpgsql code)<br />
* date_trunc() supporting intervals<br />
* Modify the postgres_fdw to allow a server to be defined as "autocommit" or similar- to allow for autonomous transactions<br />
* Modify plpgsql to complain about unused variables<br />
* Comments for function parameters<br />
* Finally clause for pl/pgsql exception handling<br />
* Foreign keys for arrays [http://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net link] {{messageLink|1349860145.11252.2.camel@greygoo.devise-it.lan|PATCH}}<br />
* Invent an async interface for the Append() node to use, allowing a way to parallelize queries across multiple remote FDWs or local tablespaces.<br />
* Implement a way to store/re-use the constraint exclusion analysis results for an inheiritence-based partition setup<br />
* Modify snapshot export to also export lock info, to avoid deadlocks between parallel pg_dump and concurrent DDL<br />
* PL/PgSQL x++; x+= 2; operators.<br />
* bytea '&' and '|' operators which returns a bytea, written efficiently in C by stepping through the bytea's in chunks, perhaps.<br />
<br />
=== Extensions ===<br />
* extending JDBC_FDW to support qual pushdown and/or writeable foreign tables API.<br />
<br />
== Project Admins ==<br />
<br />
* Thom Brown<br />
* David Fetter<br />
* Kevin Grittner<br />
<br />
== 2015 Mentors ==<br />
<br />
Mentors volunteered who have been active on -hackers list:<br />
<br />
* Alexander Korotkov<br />
* Alvaro Herrera<br />
* Andreas Scherbaum<br />
* Andrew Dunstan<br />
* Ashutosh Bapat<br />
* Atri Sharma<br />
* Stephen Frost<br />
<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2015&diff=24338GSoC 20152015-03-03T15:06:25Z<p>Fabriziomello: </p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects.<br />
<br />
== Accepted Projects ==<br />
<br />
Accepted projects will be shown here when known.<br />
<br />
== Project Ideas ==<br />
<br />
Project ideas are to be added here by community members.<br />
<br />
=== Core ===<br />
* UPDATE ... RETURNING OLD [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Add RETURNING to DDL (CREATE, ALTER, DROP) and possibly DCL (GRANT, REVOKE) [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Allow different datatypes to be sliced differently, when TOASTed [http://www.postgresql.org/message-id/CA+U5nMJGgJNt5VXqkR=crtDqXFmuyzwEF23-fD5NuSns+6N5dA@mail.gmail.com link]<br />
* Sequential disk access during VACUUM for GiST/GIN<br />
* Support for microvacuum for GiST<br />
* Parallel GIN build using background workers<br />
* Implement WAL logging for hash indexes<br />
* Indexing prolonged geometrical objects (i.e. boxes, circles, polygons, not points) with SP-GiST by mapping to 4d-space.<br />
* Make index selection sublinear. Useful for index partitioning (vs table partitioning).<br />
* Add a "nowait" SELECT option which allows just skipping over locked rows instead of throwing an exception<br />
* Optimization- add to the join removal code the ability to remove joins to tables when the join is on a foreign key column (where all entries must exist in the parent anyway)<br />
* Optimization- Check the set of conditionals on a WHERE clause against CHECK constraints on the table being queried and remove any conditionals which *must* be true due to the CHECK constraints<br />
* Investigate the HashJoin code- specifically, review cases where the larger table is hashed instead of the smaller, test making NTUP_PER_BUCKET variable, etc.<br />
* Improve plpgsql error checking- look at existing discussions around GUCs which can be set to increase the warnings that plpgsql throws.<br />
* per-function temp tables (or some kind of scoping for temp tables when used inside of plpgsql code)<br />
* date_trunc() supporting intervals<br />
* Modify the postgres_fdw to allow a server to be defined as "autocommit" or similar- to allow for autonomous transactions<br />
* Modify plpgsql to complain about unused variables<br />
* Comments for function parameters<br />
* Finally clause for pl/pgsql exception handling<br />
* Foreign keys for arrays [http://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net link] {{messageLink|1349860145.11252.2.camel@greygoo.devise-it.lan|PATCH}}<br />
* Invent an async interface for the Append() node to use, allowing a way to parallelize queries across multiple remote FDWs or local tablespaces.<br />
* Implement a way to store/re-use the constraint exclusion analysis results for an inheiritence-based partition setup<br />
* Modify snapshot export to also export lock info, to avoid deadlocks between parallel pg_dump and concurrent DDL<br />
* PL/PgSQL x++; x+= 2; operators.<br />
* bytea '&' and '|' operators which returns a bytea, written efficiently in C by stepping through the bytea's in chunks, perhaps.<br />
<br />
=== Extensions ===<br />
* extending JDBC_FDW to support qual pushdown and/or writeable foreign tables API.<br />
<br />
== Project Admins ==<br />
<br />
* Thom Brown<br />
* Josh Berkus<br />
<br />
== 2015 Mentors ==<br />
<br />
Mentors volunteered who have been active on -hackers list:<br />
<br />
* Alexander Korotkov<br />
* Alvaro Herrera<br />
* Andreas Scherbaum<br />
* Andrew Dunstan<br />
* Atri Sharma<br />
* Stephen Frost<br />
<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=23499Events2014-10-23T18:48:52Z<p>Fabriziomello: /* PostgreSQL Events */</p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PDXPUGDay2014 || [[PDXPUGDay2014]] || September 6, 2014 || USA || Portland || Talks<br />
|-<br />
| PGDay Campinas 2014 || [http://pgdaycampinas.com.br/ PGDay Campinas 2014] || September 10, 2014 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2014 || [http://postgresopen.org PostgresOpen 2014] || September 17-19, 2014 || USA || Chicago || Training, Talks<br />
|-<br />
| PGDay Curitiba 2014 || [http://http://pgdaycuritiba.blogspot.com.br// PGDay Curitiba 2014] || September 19, 2014 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PGDay Ecuador 2014 || In progress || October 7, 2014 || Ecuador || Quito || Talks<br />
|-<br />
| PG Conference Europe 2014 || [http://2014.pgconf.eu PostgreSQL Conference 2014] || October 21 - 24, 2014 || Spain || Madrid || Training, [[PostgreSQL Conference Europe Talks 2014|Talks]]<br />
|-<br />
| PG Conference China 2014 || [[ChinaCon2014]] || December 12 - 13, 2014 || China || Shenzhen || Training, Talks<br />
|-<br />
| PGConf.Russia 2015 || [http://pgconf.ru/ PgConf.Russia 2015] || February 5-6, 2015 || Russia || Moscow || Talks<br />
|-<br />
| PGBR 2015 || [http://pgbr.postgresql.org.br/ PGBR2015] || November 18-20, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PostgreSQL @ INNOVATHENS || (Greek) [http://postgresql.gr/node/23 PostgreSQL.gr] - [http://www.innovathens.gr/ INNOVATHENS] || June 6, 2014 || Greece || Athens || Talks for professional audience<br />
|-<br />
| PGCon 2014 || [http://www.pgcon.org/2014/ PGCon 2014] || May 20-24 || Canada || Ottawa || Tutorials, Talks, Unconference<br />
|-<br />
| PGDay Caribbean 2014 || [http://caribbean2014.pgconf.eu PGDay Caribbean 2014] (deactivated) || August 1st, 2014 (announced: April 1st, 2014) || Caribbean || St. Martin || Talks, Social Event<br />
|-<br />
| PGConf NYC 2014 || [http://nyc.pgconf.us PGConf NYC 2014] || April 3-4, 2014 || USA || New York || [[PGConf_NYC_2014_Talks|Talks]]<br />
|-<br />
| Nordic PGDay 2014 || [http://2014.nordicpgday.org/ Nordic PGDay 2014] || March 20, 2014 || Sweden || Stockholm || Talks<br />
|-<br />
| FOSDEM PGDay 2014 || [http://fosdem2014.pgconf.eu/ FOSDEM PGDay 2014] || January 31, 2014 || Belgium || Brussels || Talks<br />
|-<br />
| [[PGDay_Argentina_2013|PgDay Argentina 2013]] || [http://www.postgresql.org.ar/pgday2013 4th National PostgreSQL One-Day Conference 2013] || November 14, 2013 || Argentina || Buenos Aires || Talks & Tutorials<br />
|-<br />
| German-Speaking PostgreSQL Conference 2013 || [http://2013.pgconf.de/ PGConf.DE 2013]|| Nov 08, 2013 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2013|Talks]]<br />
|-<br />
| PG Conference Europe 2013 || [http://2013.pgconf.eu PostgreSQL Conference 2013] || October 29 - November 1, 2013 || Ireland || Dublin || Training, [[PostgreSQL Conference Europe Talks 2013|Talks]]<br />
|-<br />
| PGDay Campinas 2013 || [http://pgdaycampinas.com.br/2013/ PGDay Campinas 2013] || September 18, 2013 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2013 || [http://postgresopen.org PostgresOpen 2013] || Sept 16-18, 2013 || USA || Chicago || Training, Talks<br />
|-<br />
| PGBR 2013 || [http://pgbr.postgresql.org.br/2013 PGBR 2013] || August 15-17, 2013 || Brazil || Porto Velho || Talks, Workshops<br />
|-<br />
| PGday UK || [http://postgresqlusergroup.org.uk PGday UK] || July 12, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| CHAR 13 || [http://www.char13.info CHAR13] || July 11, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| PG Day France 2013 || [http://pgday.fr PG Day France] || June 18, 2013 || France || Nantes || Talks<br />
|-<br />
| PGCon 2013 || [http://www.pgcon.org/2013/ PGCon 2013] || May 21-25, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PG Day Ceará 2013 || [http://www.fchristus.com.br/pgdayceara2013/home.php PG Day Ceará 2013] || May 3, 2013 || Brazil || Fortaleza || Talks<br />
|-<br />
| Inaugural Indian PUG Meetup || [http://www.meetup.com/India-PostgreSQL-UserGroup-Meetup/events/115541292/ Indian PUG Pune 2013] || April 27th, 2013 || India || Pune || Talks<br />
|-<br />
| PGDay NYC 2013 || [http://pgday.nycpug.org PGDay NYC 2013] || March 22nd, 2013 || USA || New York || Talks<br />
|-<br />
| ConFoo 2013: Web Techno Conference || [http://confoo.ca/en ConFoo 2013: Web Techno Conference] || February 25th - March 1st, 2013 || Canada || Montreal || Training, Talks, Booth<br />
|-<br />
| [[PGDay_FOSDEM_2013|PGDay FOSDEM 2013]] || [http://fosdem2013.pgconf.eu FOSDEM PGDay 2013 ] || Feb 01, 2013 || Belgium || Brussels || Talks<br />
|-<br />
| Campus Party Brasil 2013 || [http://www.campus-party.com.br Campus Party Brasil 2013 ] || January 28th - February 03rd, 2013 || Brazil || São Paulo || Talks, Workshops<br />
|-<br />
| [[PGDay_Argentina_2012|PgDay Argentina 2012]] || [http://www.pgday.com.ar/buenosaires2012 3rd National PostgreSQL Mini-Conference 2012] || November 13, 2012 || Argentina || Buenos Aires || Training, Talks<br />
|-<br />
| PyCon Argentina 2012 || [http://ar.pycon.org/2012 4th National Python Conference 2012] || November 12-17, 2012 || Argentina || Buenos Aires || Training, Talks, Booth<br />
|-<br />
| PgDay Ecuador 2012 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2012 PgDay Ecuador 2012] || November 17, 2012 || Ecuador || Quito || Talks<br />
|-<br />
| [[FOSDEM 2013]] || [http://www.fosdem.org/2013/ FOSDEM '13] || February 02-03, 2013 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PGDay Sao Paulo 2012 || [http://www.postgresql.org.br/node/16949 PGDay Sao Paulo 2012] || November 9, 2012 || Brazil || Sao Paulo, SP || Talks<br />
|-<br />
| PGDay Ouro Preto do Oeste 2012 || [http://www.postgresql.org.br/node/17041 PGDay Ouro Preto do Oeste 2012] || October 26, 2012 || Brazil || Ouro Preto do Oeste, RO || Talks<br />
|-<br />
| PGDay Rolim de Moura 2012 || [http://www.postgresql.org.br/node/17035 PGDay Rolim de Moura 2012] || October 25, 2012 || Brazil || Rolim de Moura, RO || Talks<br />
|-<br />
| PGDay Cacoal 2012 || [http://www.postgresql.org.br/node/17033 PGDay Cacoal 2012] || October 24, 2012 || Brazil || Cacoal, RO || Talks<br />
|-<br />
| PG Conference Europe 2012 || [http://2012.pgconf.eu PostgreSQL Conference 2012] || October 23-26, 2012 || Czech Rep. || Prague || Training, [[PostgreSQL Conference Europe Talks 2012|Talks]]<br />
|-<br />
| Latinoware 2012 || [http://2012.latinoware.org/?lang=en Latinoware 2012] || October 17-19, 2012 || Brazil || Foz do Iguaçu, PR || Talks<br />
|-<br />
| PGDay Campinas 2012 || [http://www.dextra.com.br/eventos/pgday-campinas-2012/ PGDay Campinas 2012] || October 03, 2012 || Brazil || Campinas, SP || Talks<br />
|-<br />
| PGOpen 2012 || [http://postgresopen.org Postgres Open 2012] || September 16-19, 2012 || USA || Chicago, IL || Training, Talks<br />
|-<br />
| FrOSCon || [http://www.froscon.org/ FrOSCon 2012]|| August 25-26, 2012 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| PG Day PR 2012 || [http://postgresql.org.br/eventos/2012/pgday/pr/ PGDay Paraná 2012] || August 16, 2012 || Brazil || Cascavel - PR || Talks, Workshops, Boths<br />
|-<br />
| FISL 13 || [http://softwarelivre.org/fisl13?lang=en FISL 13] || July 25-28, 2012 || Brazil || Porto Alegre - RS || Hackathon, booth<br />
|-<br />
| PG Conference China 2012 || [http://wiki.postgresql.org/wiki/Pgconfchina2012 PG Conference China 2012] || June 14-17, 2012 || China || Beijing || Training, Talks<br />
|-<br />
| PG Day France 2012 || [http://www.pgday.fr/ PG Day France 2012] || June 7, 2012 || France || Lyon || Talks<br />
|-<br />
| PGDay RO 2012 || [http://postgresql.org.br/eventos/2012/pgday/ro/ PGDay IFRO Porto Velho - Rondônia 2012] || May 19, 2012 || Brazil || Porto Velho, RO || Talks, Workshop<br />
|-<br />
| PGCon 2012 || [http://www.pgcon.org/2012/ PGCon 2012] || May 15-18, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PostgresSQL Conference 2012 Japan || [http://www.postgresql.jp/events/pgcon2012/top PostgreSQL Conference 2012 Japan] || February 24, 2012 || Japan || Tokyo || Talks<br />
|-<br />
| PGDay Austin 2012 || [http://pgday.austinpug.org PGDay Austin 2012] || March 28, 2012 || USA || Austin, TX || Talks<br />
|-<br />
| PGDay DC 2012 || [http://pgday.bwpug.org PGDay DC 2012] || March 30, 2012 || USA || Reston, VA || Talks<br />
|-<br />
| PGDay NYC 2012 || [http://pgday.nycpug.org PGDay NYC 2012] || April 2, 2012 || USA || New York, NY || Talks<br />
|-<br />
| [[FOSDEM 2012]] || [http://www.fosdem.org/2012/ FOSDEM '12] || February 04-05, 2012 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PG Session #3 || [http://www.postgresql-sessions.org/3/ PG Session #3] || February 02 2012 || France || Paris || Talks<br />
|-<br />
| PGDay Roraima 2011 || [http://postgresql.org.br/eventos/2011/pgday/rr/ PGDay Roraima 2011] || December 03, 2011 || Brazil || Boa Vista - RR || Talks, Training<br />
|-<br />
| PostgreSQL Conference Germany 2011 || [http://2011.pgconf.de/ PGConf.DE 2011]|| Nov 11, 2011 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2011|Talks]]<br />
|-<br />
| PGBR2011 || [http://pgbr.postgresql.org.br/ PGBR2011] || Nov 3-4, 2011 || Brazil || São Paulo || Tutorials, Talks, Booth<br />
|-<br />
| PGDay RO || [http://postgresql.org.br/eventos/2011/pgday/ro/ PGDay RONDÔNIA 2011] || October 26-28, 2011 || Brazil || Porto Velho, Rolim de Moura, Ji Parana - RO || Talks, workshops<br />
|-<br />
| PostgreSQL Conference Europe 2011 || [http://2011.pgconf.eu/ PGConf.EU 2011] || October 18-21, 2011 || The Netherlands || Amsterdam || Training, [[PostgreSQL Conference Europe Talks 2011|Talks]]<br />
|-<br />
| PostgreSQL Conference West 2011 || [http://www.postgresqlconference.org/ #PgWest 2011] || September 27-30, 2011 || San Jose || California || Training, Talks, Booth<br />
|-<br />
| Postgres Open || [http://postgresopen.org/2011/home/ Postgres Open 2011] || Sep 14-16, 2011 || USA || Chicago || [[Postgres Open Talks 2011]]<br />
|-<br />
| PGDay Porto Alegre || [http://www.postgresql.org.br/eventos/2011/pgday/rs PGDay Porto Alegre] || August 19, 2011 || Brazil || Porto Alegre || Talks, Booths<br />
|-<br />
| FrOSCon || [http://www.froscon.de/ FrOSCon 2011]|| August 20-21, 2011 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| Pg Conf Colombia || [http://www.pgconf.org Pg Conf Colombia 2011]|| August 4-5, 2011 || Colombia || Bucaramanga ||<br />
|-<br />
| PgDay at OSCON 2011 || [http://pugs.postgresql.org/node/1663 PgDay at OSCON 2011] || July 24, 2011 || USA || Portland, OR || Talks, party<br />
|-<br />
| 2011 China PostgreSQL User conference ||[http://wiki.postgresql.org/wiki/Pgconchina2011 2011 China PostgreSQL User conference] || July 16-17, 2011 || China || GUANGZHOU ||Talks,Tutorial<br />
|-<br />
| PGCon 2011 || [http://www.pgcon.org/2011/ PGCon 2011] || May 17-20, 2011 || Canada || Ottawa || Talks, Training<br />
|-<br />
| PGEast 2011 || [https://www.postgresqlconference.org/ PGWest] || March 22-25, 2011 || USA || New York, NY || Talks, Training<br />
|-<br />
| PostgresSQL Conference 2011 Japan || || February 25-26, 2011 || Tokyo || Japan ||<br />
|-<br />
| [[FOSDEM, Brussels 2011]] || [http://www.fosdem.org/2011/ FOSDEM '11] || February 05-06, 2011 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| [[PGDAY-Latino, La Habana 2011]] || [http://postgresql.uci.cu/news/19 PGDAY-Latino '11] || February 01-05, 2011 || Cuba || La Habana || Talks, Workshop<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
* [http://opencheese.com/2007/10/14/open-source-events-2008/ "Open Source and Linux events in 2008"]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=23403Events2014-10-10T18:04:22Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PDXPUGDay2014 || [[PDXPUGDay2014]] || September 6, 2014 || USA || Portland || Talks<br />
|-<br />
| PGDay Campinas 2014 || [http://pgdaycampinas.com.br/ PGDay Campinas 2014] || September 10, 2014 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2014 || [http://postgresopen.org PostgresOpen 2014] || September 17-19, 2014 || USA || Chicago || Training, Talks<br />
|-<br />
| PGDay Curitiba 2014 || [http://http://pgdaycuritiba.blogspot.com.br// PGDay Curitiba 2014] || September 19, 2014 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PGDay Ecuador 2014 || In progress || October 7, 2014 || Ecuador || Quito || Talks<br />
|-<br />
| PG Conference Europe 2014 || [http://2014.pgconf.eu PostgreSQL Conference 2014] || October 21 - 24, 2014 || Spain || Madrid || Training, [[PostgreSQL Conference Europe Talks 2014|Talks]]<br />
|-<br />
| PGBR 2015 || [[PGBR2015]] || November, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PostgreSQL @ INNOVATHENS || (Greek) [http://postgresql.gr/node/23 PostgreSQL.gr] - [http://www.innovathens.gr/ INNOVATHENS] || June 6, 2014 || Greece || Athens || Talks for professional audience<br />
|-<br />
| PGCon 2014 || [http://www.pgcon.org/2014/ PGCon 2014] || May 20-24 || Canada || Ottawa || Tutorials, Talks, Unconference<br />
|-<br />
| PGDay Caribbean 2014 || [http://caribbean2014.pgconf.eu PGDay Caribbean 2014] (deactivated) || August 1st, 2014 (announced: April 1st, 2014) || Caribbean || St. Martin || Talks, Social Event<br />
|-<br />
| PGConf NYC 2014 || [http://nyc.pgconf.us PGConf NYC 2014] || April 3-4, 2014 || USA || New York || [[PGConf_NYC_2014_Talks|Talks]]<br />
|-<br />
| Nordic PGDay 2014 || [http://2014.nordicpgday.org/ Nordic PGDay 2014] || March 20, 2014 || Sweden || Stockholm || Talks<br />
|-<br />
| FOSDEM PGDay 2014 || [http://fosdem2014.pgconf.eu/ FOSDEM PGDay 2014] || January 31, 2014 || Belgium || Brussels || Talks<br />
|-<br />
| [[PGDay_Argentina_2013|PgDay Argentina 2013]] || [http://www.postgresql.org.ar/pgday2013 4th National PostgreSQL One-Day Conference 2013] || November 14, 2013 || Argentina || Buenos Aires || Talks & Tutorials<br />
|-<br />
| German-Speaking PostgreSQL Conference 2013 || [http://2013.pgconf.de/ PGConf.DE 2013]|| Nov 08, 2013 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2013|Talks]]<br />
|-<br />
| PG Conference Europe 2013 || [http://2013.pgconf.eu PostgreSQL Conference 2013] || October 29 - November 1, 2013 || Ireland || Dublin || Training, [[PostgreSQL Conference Europe Talks 2013|Talks]]<br />
|-<br />
| PGDay Campinas 2013 || [http://pgdaycampinas.com.br/2013/ PGDay Campinas 2013] || September 18, 2013 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2013 || [http://postgresopen.org PostgresOpen 2013] || Sept 16-18, 2013 || USA || Chicago || Training, Talks<br />
|-<br />
| PGBR 2013 || [http://pgbr.postgresql.org.br/2013 PGBR 2013] || August 15-17, 2013 || Brazil || Porto Velho || Talks, Workshops<br />
|-<br />
| PGday UK || [http://postgresqlusergroup.org.uk PGday UK] || July 12, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| CHAR 13 || [http://www.char13.info CHAR13] || July 11, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| PG Day France 2013 || [http://pgday.fr PG Day France] || June 18, 2013 || France || Nantes || Talks<br />
|-<br />
| PGCon 2013 || [http://www.pgcon.org/2013/ PGCon 2013] || May 21-25, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PG Day Ceará 2013 || [http://www.fchristus.com.br/pgdayceara2013/home.php PG Day Ceará 2013] || May 3, 2013 || Brazil || Fortaleza || Talks<br />
|-<br />
| Inaugural Indian PUG Meetup || [http://www.meetup.com/India-PostgreSQL-UserGroup-Meetup/events/115541292/ Indian PUG Pune 2013] || April 27th, 2013 || India || Pune || Talks<br />
|-<br />
| PGDay NYC 2013 || [http://pgday.nycpug.org PGDay NYC 2013] || March 22nd, 2013 || USA || New York || Talks<br />
|-<br />
| ConFoo 2013: Web Techno Conference || [http://confoo.ca/en ConFoo 2013: Web Techno Conference] || February 25th - March 1st, 2013 || Canada || Montreal || Training, Talks, Booth<br />
|-<br />
| [[PGDay_FOSDEM_2013|PGDay FOSDEM 2013]] || [http://fosdem2013.pgconf.eu FOSDEM PGDay 2013 ] || Feb 01, 2013 || Belgium || Brussels || Talks<br />
|-<br />
| Campus Party Brasil 2013 || [http://www.campus-party.com.br Campus Party Brasil 2013 ] || January 28th - February 03rd, 2013 || Brazil || São Paulo || Talks, Workshops<br />
|-<br />
| [[PGDay_Argentina_2012|PgDay Argentina 2012]] || [http://www.pgday.com.ar/buenosaires2012 3rd National PostgreSQL Mini-Conference 2012] || November 13, 2012 || Argentina || Buenos Aires || Training, Talks<br />
|-<br />
| PyCon Argentina 2012 || [http://ar.pycon.org/2012 4th National Python Conference 2012] || November 12-17, 2012 || Argentina || Buenos Aires || Training, Talks, Booth<br />
|-<br />
| PgDay Ecuador 2012 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2012 PgDay Ecuador 2012] || November 17, 2012 || Ecuador || Quito || Talks<br />
|-<br />
| [[FOSDEM 2013]] || [http://www.fosdem.org/2013/ FOSDEM '13] || February 02-03, 2013 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PGDay Sao Paulo 2012 || [http://www.postgresql.org.br/node/16949 PGDay Sao Paulo 2012] || November 9, 2012 || Brazil || Sao Paulo, SP || Talks<br />
|-<br />
| PGDay Ouro Preto do Oeste 2012 || [http://www.postgresql.org.br/node/17041 PGDay Ouro Preto do Oeste 2012] || October 26, 2012 || Brazil || Ouro Preto do Oeste, RO || Talks<br />
|-<br />
| PGDay Rolim de Moura 2012 || [http://www.postgresql.org.br/node/17035 PGDay Rolim de Moura 2012] || October 25, 2012 || Brazil || Rolim de Moura, RO || Talks<br />
|-<br />
| PGDay Cacoal 2012 || [http://www.postgresql.org.br/node/17033 PGDay Cacoal 2012] || October 24, 2012 || Brazil || Cacoal, RO || Talks<br />
|-<br />
| PG Conference Europe 2012 || [http://2012.pgconf.eu PostgreSQL Conference 2012] || October 23-26, 2012 || Czech Rep. || Prague || Training, [[PostgreSQL Conference Europe Talks 2012|Talks]]<br />
|-<br />
| Latinoware 2012 || [http://2012.latinoware.org/?lang=en Latinoware 2012] || October 17-19, 2012 || Brazil || Foz do Iguaçu, PR || Talks<br />
|-<br />
| PGDay Campinas 2012 || [http://www.dextra.com.br/eventos/pgday-campinas-2012/ PGDay Campinas 2012] || October 03, 2012 || Brazil || Campinas, SP || Talks<br />
|-<br />
| PGOpen 2012 || [http://postgresopen.org Postgres Open 2012] || September 16-19, 2012 || USA || Chicago, IL || Training, Talks<br />
|-<br />
| FrOSCon || [http://www.froscon.org/ FrOSCon 2012]|| August 25-26, 2012 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| PG Day PR 2012 || [http://postgresql.org.br/eventos/2012/pgday/pr/ PGDay Paraná 2012] || August 16, 2012 || Brazil || Cascavel - PR || Talks, Workshops, Boths<br />
|-<br />
| FISL 13 || [http://softwarelivre.org/fisl13?lang=en FISL 13] || July 25-28, 2012 || Brazil || Porto Alegre - RS || Hackathon, booth<br />
|-<br />
| PG Conference China 2012 || [http://wiki.postgresql.org/wiki/Pgconfchina2012 PG Conference China 2012] || June 14-17, 2012 || China || Beijing || Training, Talks<br />
|-<br />
| PG Day France 2012 || [http://www.pgday.fr/ PG Day France 2012] || June 7, 2012 || France || Lyon || Talks<br />
|-<br />
| PGDay RO 2012 || [http://postgresql.org.br/eventos/2012/pgday/ro/ PGDay IFRO Porto Velho - Rondônia 2012] || May 19, 2012 || Brazil || Porto Velho, RO || Talks, Workshop<br />
|-<br />
| PGCon 2012 || [http://www.pgcon.org/2012/ PGCon 2012] || May 15-18, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PostgresSQL Conference 2012 Japan || [http://www.postgresql.jp/events/pgcon2012/top PostgreSQL Conference 2012 Japan] || February 24, 2012 || Japan || Tokyo || Talks<br />
|-<br />
| PGDay Austin 2012 || [http://pgday.austinpug.org PGDay Austin 2012] || March 28, 2012 || USA || Austin, TX || Talks<br />
|-<br />
| PGDay DC 2012 || [http://pgday.bwpug.org PGDay DC 2012] || March 30, 2012 || USA || Reston, VA || Talks<br />
|-<br />
| PGDay NYC 2012 || [http://pgday.nycpug.org PGDay NYC 2012] || April 2, 2012 || USA || New York, NY || Talks<br />
|-<br />
| [[FOSDEM 2012]] || [http://www.fosdem.org/2012/ FOSDEM '12] || February 04-05, 2012 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PG Session #3 || [http://www.postgresql-sessions.org/3/ PG Session #3] || February 02 2012 || France || Paris || Talks<br />
|-<br />
| PGDay Roraima 2011 || [http://postgresql.org.br/eventos/2011/pgday/rr/ PGDay Roraima 2011] || December 03, 2011 || Brazil || Boa Vista - RR || Talks, Training<br />
|-<br />
| PostgreSQL Conference Germany 2011 || [http://2011.pgconf.de/ PGConf.DE 2011]|| Nov 11, 2011 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2011|Talks]]<br />
|-<br />
| PGBR2011 || [http://pgbr.postgresql.org.br/ PGBR2011] || Nov 3-4, 2011 || Brazil || São Paulo || Tutorials, Talks, Booth<br />
|-<br />
| PGDay RO || [http://postgresql.org.br/eventos/2011/pgday/ro/ PGDay RONDÔNIA 2011] || October 26-28, 2011 || Brazil || Porto Velho, Rolim de Moura, Ji Parana - RO || Talks, workshops<br />
|-<br />
| PostgreSQL Conference Europe 2011 || [http://2011.pgconf.eu/ PGConf.EU 2011] || October 18-21, 2011 || The Netherlands || Amsterdam || Training, [[PostgreSQL Conference Europe Talks 2011|Talks]]<br />
|-<br />
| PostgreSQL Conference West 2011 || [http://www.postgresqlconference.org/ #PgWest 2011] || September 27-30, 2011 || San Jose || California || Training, Talks, Booth<br />
|-<br />
| Postgres Open || [http://postgresopen.org/2011/home/ Postgres Open 2011] || Sep 14-16, 2011 || USA || Chicago || [[Postgres Open Talks 2011]]<br />
|-<br />
| PGDay Porto Alegre || [http://www.postgresql.org.br/eventos/2011/pgday/rs PGDay Porto Alegre] || August 19, 2011 || Brazil || Porto Alegre || Talks, Booths<br />
|-<br />
| FrOSCon || [http://www.froscon.de/ FrOSCon 2011]|| August 20-21, 2011 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| Pg Conf Colombia || [http://www.pgconf.org Pg Conf Colombia 2011]|| August 4-5, 2011 || Colombia || Bucaramanga ||<br />
|-<br />
| PgDay at OSCON 2011 || [http://pugs.postgresql.org/node/1663 PgDay at OSCON 2011] || July 24, 2011 || USA || Portland, OR || Talks, party<br />
|-<br />
| 2011 China PostgreSQL User conference ||[http://wiki.postgresql.org/wiki/Pgconchina2011 2011 China PostgreSQL User conference] || July 16-17, 2011 || China || GUANGZHOU ||Talks,Tutorial<br />
|-<br />
| PGCon 2011 || [http://www.pgcon.org/2011/ PGCon 2011] || May 17-20, 2011 || Canada || Ottawa || Talks, Training<br />
|-<br />
| PGEast 2011 || [https://www.postgresqlconference.org/ PGWest] || March 22-25, 2011 || USA || New York, NY || Talks, Training<br />
|-<br />
| PostgresSQL Conference 2011 Japan || || February 25-26, 2011 || Tokyo || Japan ||<br />
|-<br />
| [[FOSDEM, Brussels 2011]] || [http://www.fosdem.org/2011/ FOSDEM '11] || February 05-06, 2011 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| [[PGDAY-Latino, La Habana 2011]] || [http://postgresql.uci.cu/news/19 PGDAY-Latino '11] || February 01-05, 2011 || Cuba || La Habana || Talks, Workshop<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
* [http://opencheese.com/2007/10/14/open-source-events-2008/ "Open Source and Linux events in 2008"]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=23402Events2014-10-10T18:03:31Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PGBR 2015 || [[PGBR2015]] || November, 2015 || Brazil || Porto Alegre || Talks, Workshops<br />
|-<br />
| PDXPUGDay2014 || [[PDXPUGDay2014]] || September 6, 2014 || USA || Portland || Talks<br />
|-<br />
| PGDay Campinas 2014 || [http://pgdaycampinas.com.br/ PGDay Campinas 2014] || September 10, 2014 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2014 || [http://postgresopen.org PostgresOpen 2014] || September 17-19, 2014 || USA || Chicago || Training, Talks<br />
|-<br />
| PGDay Curitiba 2014 || [http://http://pgdaycuritiba.blogspot.com.br// PGDay Curitiba 2014] || September 19, 2014 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PGDay Ecuador 2014 || In progress || October 7, 2014 || Ecuador || Quito || Talks<br />
|-<br />
| PG Conference Europe 2014 || [http://2014.pgconf.eu PostgreSQL Conference 2014] || October 21 - 24, 2014 || Spain || Madrid || Training, [[PostgreSQL Conference Europe Talks 2014|Talks]]<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PostgreSQL @ INNOVATHENS || (Greek) [http://postgresql.gr/node/23 PostgreSQL.gr] - [http://www.innovathens.gr/ INNOVATHENS] || June 6, 2014 || Greece || Athens || Talks for professional audience<br />
|-<br />
| PGCon 2014 || [http://www.pgcon.org/2014/ PGCon 2014] || May 20-24 || Canada || Ottawa || Tutorials, Talks, Unconference<br />
|-<br />
| PGDay Caribbean 2014 || [http://caribbean2014.pgconf.eu PGDay Caribbean 2014] (deactivated) || August 1st, 2014 (announced: April 1st, 2014) || Caribbean || St. Martin || Talks, Social Event<br />
|-<br />
| PGConf NYC 2014 || [http://nyc.pgconf.us PGConf NYC 2014] || April 3-4, 2014 || USA || New York || [[PGConf_NYC_2014_Talks|Talks]]<br />
|-<br />
| Nordic PGDay 2014 || [http://2014.nordicpgday.org/ Nordic PGDay 2014] || March 20, 2014 || Sweden || Stockholm || Talks<br />
|-<br />
| FOSDEM PGDay 2014 || [http://fosdem2014.pgconf.eu/ FOSDEM PGDay 2014] || January 31, 2014 || Belgium || Brussels || Talks<br />
|-<br />
| [[PGDay_Argentina_2013|PgDay Argentina 2013]] || [http://www.postgresql.org.ar/pgday2013 4th National PostgreSQL One-Day Conference 2013] || November 14, 2013 || Argentina || Buenos Aires || Talks & Tutorials<br />
|-<br />
| German-Speaking PostgreSQL Conference 2013 || [http://2013.pgconf.de/ PGConf.DE 2013]|| Nov 08, 2013 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2013|Talks]]<br />
|-<br />
| PG Conference Europe 2013 || [http://2013.pgconf.eu PostgreSQL Conference 2013] || October 29 - November 1, 2013 || Ireland || Dublin || Training, [[PostgreSQL Conference Europe Talks 2013|Talks]]<br />
|-<br />
| PGDay Campinas 2013 || [http://pgdaycampinas.com.br/2013/ PGDay Campinas 2013] || September 18, 2013 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2013 || [http://postgresopen.org PostgresOpen 2013] || Sept 16-18, 2013 || USA || Chicago || Training, Talks<br />
|-<br />
| PGBR 2013 || [http://pgbr.postgresql.org.br/2013 PGBR 2013] || August 15-17, 2013 || Brazil || Porto Velho || Talks, Workshops<br />
|-<br />
| PGday UK || [http://postgresqlusergroup.org.uk PGday UK] || July 12, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| CHAR 13 || [http://www.char13.info CHAR13] || July 11, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| PG Day France 2013 || [http://pgday.fr PG Day France] || June 18, 2013 || France || Nantes || Talks<br />
|-<br />
| PGCon 2013 || [http://www.pgcon.org/2013/ PGCon 2013] || May 21-25, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PG Day Ceará 2013 || [http://www.fchristus.com.br/pgdayceara2013/home.php PG Day Ceará 2013] || May 3, 2013 || Brazil || Fortaleza || Talks<br />
|-<br />
| Inaugural Indian PUG Meetup || [http://www.meetup.com/India-PostgreSQL-UserGroup-Meetup/events/115541292/ Indian PUG Pune 2013] || April 27th, 2013 || India || Pune || Talks<br />
|-<br />
| PGDay NYC 2013 || [http://pgday.nycpug.org PGDay NYC 2013] || March 22nd, 2013 || USA || New York || Talks<br />
|-<br />
| ConFoo 2013: Web Techno Conference || [http://confoo.ca/en ConFoo 2013: Web Techno Conference] || February 25th - March 1st, 2013 || Canada || Montreal || Training, Talks, Booth<br />
|-<br />
| [[PGDay_FOSDEM_2013|PGDay FOSDEM 2013]] || [http://fosdem2013.pgconf.eu FOSDEM PGDay 2013 ] || Feb 01, 2013 || Belgium || Brussels || Talks<br />
|-<br />
| Campus Party Brasil 2013 || [http://www.campus-party.com.br Campus Party Brasil 2013 ] || January 28th - February 03rd, 2013 || Brazil || São Paulo || Talks, Workshops<br />
|-<br />
| [[PGDay_Argentina_2012|PgDay Argentina 2012]] || [http://www.pgday.com.ar/buenosaires2012 3rd National PostgreSQL Mini-Conference 2012] || November 13, 2012 || Argentina || Buenos Aires || Training, Talks<br />
|-<br />
| PyCon Argentina 2012 || [http://ar.pycon.org/2012 4th National Python Conference 2012] || November 12-17, 2012 || Argentina || Buenos Aires || Training, Talks, Booth<br />
|-<br />
| PgDay Ecuador 2012 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2012 PgDay Ecuador 2012] || November 17, 2012 || Ecuador || Quito || Talks<br />
|-<br />
| [[FOSDEM 2013]] || [http://www.fosdem.org/2013/ FOSDEM '13] || February 02-03, 2013 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PGDay Sao Paulo 2012 || [http://www.postgresql.org.br/node/16949 PGDay Sao Paulo 2012] || November 9, 2012 || Brazil || Sao Paulo, SP || Talks<br />
|-<br />
| PGDay Ouro Preto do Oeste 2012 || [http://www.postgresql.org.br/node/17041 PGDay Ouro Preto do Oeste 2012] || October 26, 2012 || Brazil || Ouro Preto do Oeste, RO || Talks<br />
|-<br />
| PGDay Rolim de Moura 2012 || [http://www.postgresql.org.br/node/17035 PGDay Rolim de Moura 2012] || October 25, 2012 || Brazil || Rolim de Moura, RO || Talks<br />
|-<br />
| PGDay Cacoal 2012 || [http://www.postgresql.org.br/node/17033 PGDay Cacoal 2012] || October 24, 2012 || Brazil || Cacoal, RO || Talks<br />
|-<br />
| PG Conference Europe 2012 || [http://2012.pgconf.eu PostgreSQL Conference 2012] || October 23-26, 2012 || Czech Rep. || Prague || Training, [[PostgreSQL Conference Europe Talks 2012|Talks]]<br />
|-<br />
| Latinoware 2012 || [http://2012.latinoware.org/?lang=en Latinoware 2012] || October 17-19, 2012 || Brazil || Foz do Iguaçu, PR || Talks<br />
|-<br />
| PGDay Campinas 2012 || [http://www.dextra.com.br/eventos/pgday-campinas-2012/ PGDay Campinas 2012] || October 03, 2012 || Brazil || Campinas, SP || Talks<br />
|-<br />
| PGOpen 2012 || [http://postgresopen.org Postgres Open 2012] || September 16-19, 2012 || USA || Chicago, IL || Training, Talks<br />
|-<br />
| FrOSCon || [http://www.froscon.org/ FrOSCon 2012]|| August 25-26, 2012 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| PG Day PR 2012 || [http://postgresql.org.br/eventos/2012/pgday/pr/ PGDay Paraná 2012] || August 16, 2012 || Brazil || Cascavel - PR || Talks, Workshops, Boths<br />
|-<br />
| FISL 13 || [http://softwarelivre.org/fisl13?lang=en FISL 13] || July 25-28, 2012 || Brazil || Porto Alegre - RS || Hackathon, booth<br />
|-<br />
| PG Conference China 2012 || [http://wiki.postgresql.org/wiki/Pgconfchina2012 PG Conference China 2012] || June 14-17, 2012 || China || Beijing || Training, Talks<br />
|-<br />
| PG Day France 2012 || [http://www.pgday.fr/ PG Day France 2012] || June 7, 2012 || France || Lyon || Talks<br />
|-<br />
| PGDay RO 2012 || [http://postgresql.org.br/eventos/2012/pgday/ro/ PGDay IFRO Porto Velho - Rondônia 2012] || May 19, 2012 || Brazil || Porto Velho, RO || Talks, Workshop<br />
|-<br />
| PGCon 2012 || [http://www.pgcon.org/2012/ PGCon 2012] || May 15-18, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PostgresSQL Conference 2012 Japan || [http://www.postgresql.jp/events/pgcon2012/top PostgreSQL Conference 2012 Japan] || February 24, 2012 || Japan || Tokyo || Talks<br />
|-<br />
| PGDay Austin 2012 || [http://pgday.austinpug.org PGDay Austin 2012] || March 28, 2012 || USA || Austin, TX || Talks<br />
|-<br />
| PGDay DC 2012 || [http://pgday.bwpug.org PGDay DC 2012] || March 30, 2012 || USA || Reston, VA || Talks<br />
|-<br />
| PGDay NYC 2012 || [http://pgday.nycpug.org PGDay NYC 2012] || April 2, 2012 || USA || New York, NY || Talks<br />
|-<br />
| [[FOSDEM 2012]] || [http://www.fosdem.org/2012/ FOSDEM '12] || February 04-05, 2012 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PG Session #3 || [http://www.postgresql-sessions.org/3/ PG Session #3] || February 02 2012 || France || Paris || Talks<br />
|-<br />
| PGDay Roraima 2011 || [http://postgresql.org.br/eventos/2011/pgday/rr/ PGDay Roraima 2011] || December 03, 2011 || Brazil || Boa Vista - RR || Talks, Training<br />
|-<br />
| PostgreSQL Conference Germany 2011 || [http://2011.pgconf.de/ PGConf.DE 2011]|| Nov 11, 2011 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2011|Talks]]<br />
|-<br />
| PGBR2011 || [http://pgbr.postgresql.org.br/ PGBR2011] || Nov 3-4, 2011 || Brazil || São Paulo || Tutorials, Talks, Booth<br />
|-<br />
| PGDay RO || [http://postgresql.org.br/eventos/2011/pgday/ro/ PGDay RONDÔNIA 2011] || October 26-28, 2011 || Brazil || Porto Velho, Rolim de Moura, Ji Parana - RO || Talks, workshops<br />
|-<br />
| PostgreSQL Conference Europe 2011 || [http://2011.pgconf.eu/ PGConf.EU 2011] || October 18-21, 2011 || The Netherlands || Amsterdam || Training, [[PostgreSQL Conference Europe Talks 2011|Talks]]<br />
|-<br />
| PostgreSQL Conference West 2011 || [http://www.postgresqlconference.org/ #PgWest 2011] || September 27-30, 2011 || San Jose || California || Training, Talks, Booth<br />
|-<br />
| Postgres Open || [http://postgresopen.org/2011/home/ Postgres Open 2011] || Sep 14-16, 2011 || USA || Chicago || [[Postgres Open Talks 2011]]<br />
|-<br />
| PGDay Porto Alegre || [http://www.postgresql.org.br/eventos/2011/pgday/rs PGDay Porto Alegre] || August 19, 2011 || Brazil || Porto Alegre || Talks, Booths<br />
|-<br />
| FrOSCon || [http://www.froscon.de/ FrOSCon 2011]|| August 20-21, 2011 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| Pg Conf Colombia || [http://www.pgconf.org Pg Conf Colombia 2011]|| August 4-5, 2011 || Colombia || Bucaramanga ||<br />
|-<br />
| PgDay at OSCON 2011 || [http://pugs.postgresql.org/node/1663 PgDay at OSCON 2011] || July 24, 2011 || USA || Portland, OR || Talks, party<br />
|-<br />
| 2011 China PostgreSQL User conference ||[http://wiki.postgresql.org/wiki/Pgconchina2011 2011 China PostgreSQL User conference] || July 16-17, 2011 || China || GUANGZHOU ||Talks,Tutorial<br />
|-<br />
| PGCon 2011 || [http://www.pgcon.org/2011/ PGCon 2011] || May 17-20, 2011 || Canada || Ottawa || Talks, Training<br />
|-<br />
| PGEast 2011 || [https://www.postgresqlconference.org/ PGWest] || March 22-25, 2011 || USA || New York, NY || Talks, Training<br />
|-<br />
| PostgresSQL Conference 2011 Japan || || February 25-26, 2011 || Tokyo || Japan ||<br />
|-<br />
| [[FOSDEM, Brussels 2011]] || [http://www.fosdem.org/2011/ FOSDEM '11] || February 05-06, 2011 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| [[PGDAY-Latino, La Habana 2011]] || [http://postgresql.uci.cu/news/19 PGDAY-Latino '11] || February 01-05, 2011 || Cuba || La Habana || Talks, Workshop<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
* [http://opencheese.com/2007/10/14/open-source-events-2008/ "Open Source and Linux events in 2008"]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Events&diff=22957Events2014-08-05T20:13:32Z<p>Fabriziomello: </p>
<hr />
<div>== PostgreSQL Events ==<br />
<br />
Most PostgreSQL-specific events are tracked on the [http://www.postgresql.org/about/eventarchive PostgreSQL Events] page. This is a listing of events at which we expect, or would like to have, a PostgreSQL presence. Please keep the events in order by starting date and follow the existing examples. Please also tag the events with the MediaWiki "PostgreSQL Events" category. If you are going to be organizing a PostgreSQL booth, please adhere to [[BoothPolicies]]. PostgreSQL Europe conference coordination [[PGUG EU Conference Coordination|is here]]. Conference for China user group [[Pg_envent_cn| is here]].<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Upcoming PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PDXPUGDay2014 || [[PDXPUGDay2014]] || September 6, 2014 || USA || Portland || Talks<br />
|-<br />
| PGDay Campinas 2014 || [http://pgdaycampinas.com.br/ PGDay Campinas 2014] || September 10, 2014 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2014 || [http://postgresopen.org PostgresOpen 2014] || September 17-19, 2014 || USA || Chicago || Training, Talks<br />
|-<br />
| PGDay Curitiba 2014 || [http://http://pgdaycuritiba.blogspot.com.br// PGDay Curitiba 2014] || September 19, 2014 || Brazil || Curitiba/PR || Talks<br />
|-<br />
| PGDay Ecuador 2014 || In progress || October 7, 2014 || Ecuador || Quito || Talks<br />
|-<br />
| PG Conference Europe 2014 || [http://2014.pgconf.eu PostgreSQL Conference 2014] || October 21 - 24, 2014 || Spain || Madrid || Training, [[PostgreSQL Conference Europe Talks 2014|Talks]]<br />
|-<br />
|}<br />
<br />
<br />
{| border="1"<br />
|+ <br />
|- style="background:Khaki;"<br />
'''Previous PostgreSQL Events Listing'''<br />
| '''Event''' || '''Web Page''' || '''Date''' || '''Country''' || '''City''' || '''Activities'''<br />
|-<br />
| PostgreSQL @ INNOVATHENS || (Greek) [http://postgresql.gr/node/23 PostgreSQL.gr] - [http://www.innovathens.gr/ INNOVATHENS] || June 6, 2014 || Greece || Athens || Talks for professional audience<br />
|-<br />
| PGCon 2014 || [http://www.pgcon.org/2014/ PGCon 2014] || May 20-24 || Canada || Ottawa || Tutorials, Talks, Unconference<br />
|-<br />
| PGDay Caribbean 2014 || [http://caribbean2014.pgconf.eu PGDay Caribbean 2014] (deactivated) || August 1st, 2014 (announced: April 1st, 2014) || Caribbean || St. Martin || Talks, Social Event<br />
|-<br />
| PGConf NYC 2014 || [http://nyc.pgconf.us PGConf NYC 2014] || April 3-4, 2014 || USA || New York || [[PGConf_NYC_2014_Talks|Talks]]<br />
|-<br />
| Nordic PGDay 2014 || [http://2014.nordicpgday.org/ Nordic PGDay 2014] || March 20, 2014 || Sweden || Stockholm || Talks<br />
|-<br />
| FOSDEM PGDay 2014 || [http://fosdem2014.pgconf.eu/ FOSDEM PGDay 2014] || January 31, 2014 || Belgium || Brussels || Talks<br />
|-<br />
| [[PGDay_Argentina_2013|PgDay Argentina 2013]] || [http://www.postgresql.org.ar/pgday2013 4th National PostgreSQL One-Day Conference 2013] || November 14, 2013 || Argentina || Buenos Aires || Talks & Tutorials<br />
|-<br />
| German-Speaking PostgreSQL Conference 2013 || [http://2013.pgconf.de/ PGConf.DE 2013]|| Nov 08, 2013 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2013|Talks]]<br />
|-<br />
| PG Conference Europe 2013 || [http://2013.pgconf.eu PostgreSQL Conference 2013] || October 29 - November 1, 2013 || Ireland || Dublin || Training, [[PostgreSQL Conference Europe Talks 2013|Talks]]<br />
|-<br />
| PGDay Campinas 2013 || [http://pgdaycampinas.com.br/2013/ PGDay Campinas 2013] || September 18, 2013 || Brazil || Campinas/SP || Talks<br />
|-<br />
| PostgresOpen 2013 || [http://postgresopen.org PostgresOpen 2013] || Sept 16-18, 2013 || USA || Chicago || Training, Talks<br />
|-<br />
| PGBR 2013 || [http://pgbr.postgresql.org.br/2013 PGBR 2013] || August 15-17, 2013 || Brazil || Porto Velho || Talks, Workshops<br />
|-<br />
| PGday UK || [http://postgresqlusergroup.org.uk PGday UK] || July 12, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| CHAR 13 || [http://www.char13.info CHAR13] || July 11, 2013 || UK || London || Talks, Workshops<br />
|-<br />
| PG Day France 2013 || [http://pgday.fr PG Day France] || June 18, 2013 || France || Nantes || Talks<br />
|-<br />
| PGCon 2013 || [http://www.pgcon.org/2013/ PGCon 2013] || May 21-25, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PG Day Ceará 2013 || [http://www.fchristus.com.br/pgdayceara2013/home.php PG Day Ceará 2013] || May 3, 2013 || Brazil || Fortaleza || Talks<br />
|-<br />
| Inaugural Indian PUG Meetup || [http://www.meetup.com/India-PostgreSQL-UserGroup-Meetup/events/115541292/ Indian PUG Pune 2013] || April 27th, 2013 || India || Pune || Talks<br />
|-<br />
| PGDay NYC 2013 || [http://pgday.nycpug.org PGDay NYC 2013] || March 22nd, 2013 || USA || New York || Talks<br />
|-<br />
| ConFoo 2013: Web Techno Conference || [http://confoo.ca/en ConFoo 2013: Web Techno Conference] || February 25th - March 1st, 2013 || Canada || Montreal || Training, Talks, Booth<br />
|-<br />
| [[PGDay_FOSDEM_2013|PGDay FOSDEM 2013]] || [http://fosdem2013.pgconf.eu FOSDEM PGDay 2013 ] || Feb 01, 2013 || Belgium || Brussels || Talks<br />
|-<br />
| Campus Party Brasil 2013 || [http://www.campus-party.com.br Campus Party Brasil 2013 ] || January 28th - February 03rd, 2013 || Brazil || São Paulo || Talks, Workshops<br />
|-<br />
| [[PGDay_Argentina_2012|PgDay Argentina 2012]] || [http://www.pgday.com.ar/buenosaires2012 3rd National PostgreSQL Mini-Conference 2012] || November 13, 2012 || Argentina || Buenos Aires || Training, Talks<br />
|-<br />
| PyCon Argentina 2012 || [http://ar.pycon.org/2012 4th National Python Conference 2012] || November 12-17, 2012 || Argentina || Buenos Aires || Training, Talks, Booth<br />
|-<br />
| PgDay Ecuador 2012 || [https://wiki.postgresql.org/wiki/PGDay_Ecuador_2012 PgDay Ecuador 2012] || November 17, 2012 || Ecuador || Quito || Talks<br />
|-<br />
| [[FOSDEM 2013]] || [http://www.fosdem.org/2013/ FOSDEM '13] || February 02-03, 2013 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PGDay Sao Paulo 2012 || [http://www.postgresql.org.br/node/16949 PGDay Sao Paulo 2012] || November 9, 2012 || Brazil || Sao Paulo, SP || Talks<br />
|-<br />
| PGDay Ouro Preto do Oeste 2012 || [http://www.postgresql.org.br/node/17041 PGDay Ouro Preto do Oeste 2012] || October 26, 2012 || Brazil || Ouro Preto do Oeste, RO || Talks<br />
|-<br />
| PGDay Rolim de Moura 2012 || [http://www.postgresql.org.br/node/17035 PGDay Rolim de Moura 2012] || October 25, 2012 || Brazil || Rolim de Moura, RO || Talks<br />
|-<br />
| PGDay Cacoal 2012 || [http://www.postgresql.org.br/node/17033 PGDay Cacoal 2012] || October 24, 2012 || Brazil || Cacoal, RO || Talks<br />
|-<br />
| PG Conference Europe 2012 || [http://2012.pgconf.eu PostgreSQL Conference 2012] || October 23-26, 2012 || Czech Rep. || Prague || Training, [[PostgreSQL Conference Europe Talks 2012|Talks]]<br />
|-<br />
| Latinoware 2012 || [http://2012.latinoware.org/?lang=en Latinoware 2012] || October 17-19, 2012 || Brazil || Foz do Iguaçu, PR || Talks<br />
|-<br />
| PGDay Campinas 2012 || [http://www.dextra.com.br/eventos/pgday-campinas-2012/ PGDay Campinas 2012] || October 03, 2012 || Brazil || Campinas, SP || Talks<br />
|-<br />
| PGOpen 2012 || [http://postgresopen.org Postgres Open 2012] || September 16-19, 2012 || USA || Chicago, IL || Training, Talks<br />
|-<br />
| FrOSCon || [http://www.froscon.org/ FrOSCon 2012]|| August 25-26, 2012 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| PG Day PR 2012 || [http://postgresql.org.br/eventos/2012/pgday/pr/ PGDay Paraná 2012] || August 16, 2012 || Brazil || Cascavel - PR || Talks, Workshops, Boths<br />
|-<br />
| FISL 13 || [http://softwarelivre.org/fisl13?lang=en FISL 13] || July 25-28, 2012 || Brazil || Porto Alegre - RS || Hackathon, booth<br />
|-<br />
| PG Conference China 2012 || [http://wiki.postgresql.org/wiki/Pgconfchina2012 PG Conference China 2012] || June 14-17, 2012 || China || Beijing || Training, Talks<br />
|-<br />
| PG Day France 2012 || [http://www.pgday.fr/ PG Day France 2012] || June 7, 2012 || France || Lyon || Talks<br />
|-<br />
| PGDay RO 2012 || [http://postgresql.org.br/eventos/2012/pgday/ro/ PGDay IFRO Porto Velho - Rondônia 2012] || May 19, 2012 || Brazil || Porto Velho, RO || Talks, Workshop<br />
|-<br />
| PGCon 2012 || [http://www.pgcon.org/2012/ PGCon 2012] || May 15-18, 2012 || Canada || Ottawa, ON || Training, Talks<br />
|-<br />
| PostgresSQL Conference 2012 Japan || [http://www.postgresql.jp/events/pgcon2012/top PostgreSQL Conference 2012 Japan] || February 24, 2012 || Japan || Tokyo || Talks<br />
|-<br />
| PGDay Austin 2012 || [http://pgday.austinpug.org PGDay Austin 2012] || March 28, 2012 || USA || Austin, TX || Talks<br />
|-<br />
| PGDay DC 2012 || [http://pgday.bwpug.org PGDay DC 2012] || March 30, 2012 || USA || Reston, VA || Talks<br />
|-<br />
| PGDay NYC 2012 || [http://pgday.nycpug.org PGDay NYC 2012] || April 2, 2012 || USA || New York, NY || Talks<br />
|-<br />
| [[FOSDEM 2012]] || [http://www.fosdem.org/2012/ FOSDEM '12] || February 04-05, 2012 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| PG Session #3 || [http://www.postgresql-sessions.org/3/ PG Session #3] || February 02 2012 || France || Paris || Talks<br />
|-<br />
| PGDay Roraima 2011 || [http://postgresql.org.br/eventos/2011/pgday/rr/ PGDay Roraima 2011] || December 03, 2011 || Brazil || Boa Vista - RR || Talks, Training<br />
|-<br />
| PostgreSQL Conference Germany 2011 || [http://2011.pgconf.de/ PGConf.DE 2011]|| Nov 11, 2011 || Germany || Oberhausen || [[German-Speaking PostgreSQL Conference 2011|Talks]]<br />
|-<br />
| PGBR2011 || [http://pgbr.postgresql.org.br/ PGBR2011] || Nov 3-4, 2011 || Brazil || São Paulo || Tutorials, Talks, Booth<br />
|-<br />
| PGDay RO || [http://postgresql.org.br/eventos/2011/pgday/ro/ PGDay RONDÔNIA 2011] || October 26-28, 2011 || Brazil || Porto Velho, Rolim de Moura, Ji Parana - RO || Talks, workshops<br />
|-<br />
| PostgreSQL Conference Europe 2011 || [http://2011.pgconf.eu/ PGConf.EU 2011] || October 18-21, 2011 || The Netherlands || Amsterdam || Training, [[PostgreSQL Conference Europe Talks 2011|Talks]]<br />
|-<br />
| PostgreSQL Conference West 2011 || [http://www.postgresqlconference.org/ #PgWest 2011] || September 27-30, 2011 || San Jose || California || Training, Talks, Booth<br />
|-<br />
| Postgres Open || [http://postgresopen.org/2011/home/ Postgres Open 2011] || Sep 14-16, 2011 || USA || Chicago || [[Postgres Open Talks 2011]]<br />
|-<br />
| PGDay Porto Alegre || [http://www.postgresql.org.br/eventos/2011/pgday/rs PGDay Porto Alegre] || August 19, 2011 || Brazil || Porto Alegre || Talks, Booths<br />
|-<br />
| FrOSCon || [http://www.froscon.de/ FrOSCon 2011]|| August 20-21, 2011 || Germany || St. Augustin || Talks, Booth<br />
|-<br />
| Pg Conf Colombia || [http://www.pgconf.org Pg Conf Colombia 2011]|| August 4-5, 2011 || Colombia || Bucaramanga ||<br />
|-<br />
| PgDay at OSCON 2011 || [http://pugs.postgresql.org/node/1663 PgDay at OSCON 2011] || July 24, 2011 || USA || Portland, OR || Talks, party<br />
|-<br />
| 2011 China PostgreSQL User conference ||[http://wiki.postgresql.org/wiki/Pgconchina2011 2011 China PostgreSQL User conference] || July 16-17, 2011 || China || GUANGZHOU ||Talks,Tutorial<br />
|-<br />
| PGCon 2011 || [http://www.pgcon.org/2011/ PGCon 2011] || May 17-20, 2011 || Canada || Ottawa || Talks, Training<br />
|-<br />
| PGEast 2011 || [https://www.postgresqlconference.org/ PGWest] || March 22-25, 2011 || USA || New York, NY || Talks, Training<br />
|-<br />
| PostgresSQL Conference 2011 Japan || || February 25-26, 2011 || Tokyo || Japan ||<br />
|-<br />
| [[FOSDEM, Brussels 2011]] || [http://www.fosdem.org/2011/ FOSDEM '11] || February 05-06, 2011 || Belgium || Brussels || Booth, Devroom<br />
|-<br />
| [[PGDAY-Latino, La Habana 2011]] || [http://postgresql.uci.cu/news/19 PGDAY-Latino '11] || February 01-05, 2011 || Cuba || La Habana || Talks, Workshop<br />
|-<br />
| colspan="6" | [[Events/2010 | 2010 events]]<br />
|-<br />
| colspan="6" | [[Events/2009 | 2009 events]]<br />
|-<br />
| colspan="6" | [[Events/2008 | 2008 events]]<br />
|-<br />
| colspan="6" | [[Events/2007 | 2007 events]]<br />
|}<br />
<br />
== External Links ==<br />
<br />
* [http://conferences.oreillynet.com/ O'Reilly conferences]<br />
* [http://opencheese.com/2007/10/14/open-source-events-2008/ "Open Source and Linux events in 2008"]<br />
<br />
[[Category:PostgreSQL Events]]<br />
[[Category:Advocacy]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Allow_an_unlogged_table_to_be_changed_to_logged_GSoC_2014&diff=22227Allow an unlogged table to be changed to logged GSoC 20142014-04-25T05:19:42Z<p>Fabriziomello: </p>
<hr />
<div>=== Introduction ===<br />
<br />
This project will allow changing an unlogged table (that doesn’t generate transaction logs) and its dependencies to a logged table, in other words, a regular table that log changes in the WAL files, and change from logged to unlogged too. To make it happen we'll introduce the following SQL syntaxes:<br />
<br />
ALTER TABLE ''name'' SET LOGGED;<br />
ALTER TABLE ''name'' SET UNLOGGED;<br />
<br />
=== Benefits to the PostgreSQL Community ===<br />
<br />
The unlogged tables feature was introduced by 9.1 version, and provide better write performance than regular tables (logged), but are not crash-safe. Their contents are automatically discarded (cleared) if the server crashes. Also, their contents do not propagate to standby servers.<br />
<br />
Turning an unlogged table into a logged table will allow us to have the better of two worlds; we can use perform a bulk load (ETL scripts) into an unlogged table to achieve better performance, and then change it to a logged table providing durability.<br />
<br />
=== Additional Goals ===<br />
<br />
The main goal of this project is allow a table to be changed from unlogged to logged and logged to unlogged, but per suggestion of community we will expand this propostal to more related goals.<br />
<br />
* Allow unlogged indexes on logged tables<br />
** ALTER INDEX name SET { UNLOGGED | LOGGED }<br />
<br />
* Implement "ALTER TABLE name SET LOGGED" without rewriting the whole table, when wal_level = minimal.<br />
<br />
* Allow unlogged materialized views<br />
** ALTER MATERIALIZED VIEW name SET { UNLOGGED | LOGGED }<br />
<br />
=== Deliverables ===<br />
<br />
This project has just one deliverable at the end. The deliverable will be the implementation of the routines that transform an unlogged table to logged and logged to unlogged, using the same algorithm of the ''vacuum full'', with the exception that it will set a different ''relpersistence'' for the new ''relfilenode''.<br />
<br />
The proposed solution was already discussed with the PostgreSQL Community. <br />
[[http://www.postgresql.org/message-id/CAFcNs+peg3VPG2%3Dv6Lu3vfCDP8mt7cs6-RMMXxjxWNLREgSRVQ@mail.gmail.com]]<br />
<br />
=== Project Schedule ===<br />
<br />
'''until May 19'''<br />
* create a website to the project ([[http://wiki.postgresql.org]])<br />
* create a public repository to the project ([[http://github.com/fabriziomello]])<br />
** WIP patch in [https://github.com/fabriziomello/postgres/tree/gsoc2014_alter_table_set_logged]<br />
* read what has already been discussed by the community about the project ([[http://wiki.postgresql.org/wiki/Todo]])<br />
* as already discussed in pgsql-hackers mailing list, this feature will be implemented similar to “vacuum full”, with the exception that it will set a differente “relpersistence” for the new “relfilenode”<br />
* learn about some PostgreSQL internals:<br />
** grammar (src/backend/parser/gram.y)<br />
** vacuum full (src/backend/commands/[vacuum.c | cluster.c])<br />
* discuss the additional goals with community<br />
<br />
'''May 19 - June 23'''<br />
* implementation of the first prototype:<br />
** change the PostgreSQL grammar to support "ALTER TABLE … SET LOGGED"<br />
** implement and/or adapt the routines to change an "unlogged" table to "logged" (similar to "vacuum full")<br />
* write documentation and the test cases<br />
* submit this first prototype to the commitfest 2014/06 ([[https://commitfest.postgresql.org/action/commitfest_view?id=22]])<br />
<br />
'''June 23 - June 27'''<br />
* mentor review the work in progress<br />
<br />
'''June 27 - August 18'''<br />
* do the adjustments based on the community feedback during the commitfest 2014/06<br />
* implementation of the second prototype:<br />
** change the PostgreSQL grammar to support "ALTER TABLE … SET UNLOGGED"<br />
* submit to the commitfest 2014/09 for final evaluation and maybe will be committed to 9.5 version (webpage don’t created yet)<br />
<br />
'''August 18 - August 22'''<br />
* do the adjustments based on the community feedback during the commitfest 2014/09<br />
* final mentor review<br />
<br />
=== About the proponent ===<br />
<br />
'''Fabrízio de Royes Mello'''<br />
* e-mail: fabriziomello at gmail dot com<br />
* twitter: @fabriziomello<br />
* github [http://github.com/fabriziomello]<br />
* linkedin [http://linkedin.com/in/fabriziomello]<br />
<br />
Currently I help people and teams to take the full potential of relational databases, especially PostgreSQL, helping teams to design the structure of the database (modeling), build physical architecture (database schema), programming (procedural languages), SQL (usage, tuning, best practices), optimization and orchestration of instances in production too. I perform a volunteer work for Brazilian Community of PostgreSQL (www.postgresql.org.br), supporting mailing lists, organizing events (pgbr.postgresql.org.br) and some admin tasks. And also I help a little the PostgreSQL Global Development Group (PGDG) in the implementation of some features and review of patches (git.postgresql.org).<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Allow_an_unlogged_table_to_be_changed_to_logged_GSoC_2014&diff=22226Allow an unlogged table to be changed to logged GSoC 20142014-04-25T02:37:16Z<p>Fabriziomello: Created page with "=== Introduction === This project will allow changing an unlogged table (that doesn’t generate transaction logs) and its dependencies to a logged table, in other words, a r..."</p>
<hr />
<div>=== Introduction ===<br />
<br />
This project will allow changing an unlogged table (that doesn’t generate transaction logs) and its dependencies to a logged table, in other words, a regular table that log changes in the WAL files, and change from logged to unlogged too. To make it happen we'll introduce the following SQL syntaxes:<br />
<br />
ALTER TABLE ''name'' SET LOGGED;<br />
ALTER TABLE ''name'' SET UNLOGGED;<br />
<br />
=== Benefits to the PostgreSQL Community ===<br />
<br />
The unlogged tables feature was introduced by 9.1 version, and provide better write performance than regular tables (logged), but are not crash-safe. Their contents are automatically discarded (cleared) if the server crashes. Also, their contents do not propagate to standby servers.<br />
<br />
Turning an unlogged table into a logged table will allow us to have the better of two worlds; we can use perform a bulk load (ETL scripts) into an unlogged table to achieve better performance, and then change it to a logged table providing durability.<br />
<br />
=== Additional Goals ===<br />
<br />
The main goal of this project is allow a table to be changed from unlogged to logged and logged to unlogged, but per suggestion of community we will expand this propostal to more related goals.<br />
<br />
* Allow unlogged indexes on logged tables<br />
** ALTER INDEX name SET { UNLOGGED | LOGGED }<br />
<br />
* Implement "ALTER TABLE name SET LOGGED" without rewriting the whole table, when wal_level = minimal.<br />
<br />
* Allow unlogged materialized views<br />
** ALTER MATERIALIZED VIEW name SET { UNLOGGED | LOGGED }<br />
<br />
=== Deliverables ===<br />
<br />
This project has just one deliverable at the end. The deliverable will be the implementation of the routines that transform an unlogged table to logged and logged to unlogged, using the same algorithm of the ''vacuum full'', with the exception that it will set a different ''relpersistence'' for the new ''relfilenode''.<br />
<br />
The proposed solution was already discussed with the PostgreSQL Community. <br />
[[http://www.postgresql.org/message-id/CAFcNs+peg3VPG2%3Dv6Lu3vfCDP8mt7cs6-RMMXxjxWNLREgSRVQ@mail.gmail.com]]<br />
<br />
=== Project Schedule ===<br />
<br />
'''until May 19'''<br />
* create a website to the project ([[http://wiki.postgresql.org]])<br />
* create a public repository to the project ([[http://github.com/fabriziomello]])<br />
* read what has already been discussed by the community about the project ([[http://wiki.postgresql.org/wiki/Todo]])<br />
* as already discussed in pgsql-hackers mailing list, this feature will be implemented similar to “vacuum full”, with the exception that it will set a differente “relpersistence” for the new “relfilenode”<br />
* learn about some PostgreSQL internals:<br />
** grammar (src/backend/parser/gram.y)<br />
** vacuum full (src/backend/commands/[vacuum.c | cluster.c])<br />
* discuss the additional goals with community<br />
<br />
'''May 19 - June 23'''<br />
* implementation of the first prototype:<br />
** change the PostgreSQL grammar to support "ALTER TABLE … SET LOGGED"<br />
** implement and/or adapt the routines to change an "unlogged" table to "logged" (similar to "vacuum full")<br />
* write documentation and the test cases<br />
* submit this first prototype to the commitfest 2014/06 ([[https://commitfest.postgresql.org/action/commitfest_view?id=22]])<br />
<br />
'''June 23 - June 27'''<br />
* mentor review the work in progress<br />
<br />
'''June 27 - August 18'''<br />
* do the adjustments based on the community feedback during the commitfest 2014/06<br />
* implementation of the second prototype:<br />
** change the PostgreSQL grammar to support "ALTER TABLE … SET UNLOGGED"<br />
* submit to the commitfest 2014/09 for final evaluation and maybe will be committed to 9.5 version (webpage don’t created yet)<br />
<br />
'''August 18 - August 22'''<br />
* do the adjustments based on the community feedback during the commitfest 2014/09<br />
* final mentor review<br />
<br />
=== About the proponent ===<br />
<br />
'''Fabrízio de Royes Mello'''<br />
* e-mail: fabriziomello at gmail dot com<br />
* twitter: @fabriziomello<br />
* github [http://github.com/fabriziomello]<br />
* linkedin [http://linkedin.com/in/fabriziomello]<br />
<br />
Currently I help people and teams to take the full potential of relational databases, especially PostgreSQL, helping teams to design the structure of the database (modeling), build physical architecture (database schema), programming (procedural languages), SQL (usage, tuning, best practices), optimization and orchestration of instances in production too. I perform a volunteer work for Brazilian Community of PostgreSQL (www.postgresql.org.br), supporting mailing lists, organizing events (pgbr.postgresql.org.br) and some admin tasks. And also I help a little the PostgreSQL Global Development Group (PGDG) in the implementation of some features and review of patches (git.postgresql.org).<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2014&diff=22225GSoC 20142014-04-25T02:17:18Z<p>Fabriziomello: </p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects. For the currently active Summer of Code program, see [[GSoC_2013]]<br />
<br />
== Accepted Projects ==<br />
<br />
The GSoC projects for 2014 are:<br />
<br />
# [[Allow an unlogged table to be changed to logged GSoC 2014|Allow an unlogged table to be changed to logged]]<br />
# [[Implementing clustering algorithms in MADlib GSoC 2014|Implementing clustering algorithms in MADlib]]<br />
# [[Index-Only scans for GIST GSoC 2014|Index-Only scans for GIST]]<br />
# [[Support KNN for SP-GiST GSoC 2014|Support KNN for SP-GiST]]<br />
<br />
== Project Ideas ==<br />
<br />
Project ideas are to be added here.<br />
<br />
(Please can we have visibility of ideas on Hackers please to avoid overreaching what is possible in the time, and also working on dubious projects.)<br />
<br />
=== Core ===<br />
* UPDATE ... RETURNING OLD [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Add RETURNING to DDL (CREATE, ALTER, DROP) and possibly DCL (GRANT, REVOKE) [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Allow different datatypes to be sliced differently, when TOASTed [http://www.postgresql.org/message-id/CA+U5nMJGgJNt5VXqkR=crtDqXFmuyzwEF23-fD5NuSns+6N5dA@mail.gmail.com link]<br />
* Sequential disk access during VACUUM for GiST/GIN<br />
* parallel vacuumdb<br />
* Support for index-only scan for GiST<br />
* Support for microvacuum for GiST<br />
* Parallel GIN build using background workers<br />
* Support KNN for SP-GiST<br />
* Implement WAL logging for hash indexes<br />
* Indexing prolonged geometrical objects (i.e. boxes, circles, polygons, not points) with SP-GiST by mapping to 4d-space.<br />
* Make index selection sublinear. Useful for index partitioning (vs table partitioning).<br />
* Add a "nowait" SELECT option which allows just skipping over locked rows instead of throwing an exception<br />
* Optimization- add to the join removal code the ability to remove joins to tables when the join is on a foreign key column (where all entries must exist in the parent anyway)<br />
* Optimization- Check the set of conditionals on a WHERE clause against CHECK constraints on the table being queried and remove any conditionals which *must* be true due to the CHECK constraints<br />
* Investigate the HashJoin code- specifically, review cases where the larger table is hashed instead of the smaller, test making NTUP_PER_BUCKET variable, etc.<br />
* Improve plpgsql error checking- look at existing discussions around GUCs which can be set to increase the warnings that plpgsql throws.<br />
* per-function temp tables (or some kind of scoping for temp tables when used inside of plpgsql code)<br />
* date_trunc() supporting intervals<br />
* Modify the postgres_fdw to allow a server to be defined as "autocommit" or similar- to allow for autonomous transactions<br />
* Modify plpgsql to complain about unused variables<br />
* Comments for function parameters<br />
* Finally clause for pl/pgsql exception handling<br />
* Foreign keys for arrays [http://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net link] {{messageLink|1349860145.11252.2.camel@greygoo.devise-it.lan|PATCH}}<br />
* Invent an async interface for the Append() node to use, allowing a way to parallelize queries across multiple remote FDWs or local tablespaces.<br />
* Allow an unlogged table to be changed to logged [http://www.postgresql.org/message-id/CAFcNs+peg3VPG2=v6Lu3vfCDP8mt7cs6-RMMXxjxWNLREgSRVQ@mail.gmail.com link]<br />
* Implement a way to store/re-use the constraint exclusion analysis results for an inheiritence-based partition setup<br />
* Modify snapshot export to also export lock info, to avoid deadlocks between parallel pg_dump and concurrent DDL<br />
* PL/PgSQL x++; x+= 2; operators.<br />
* bytea '&' and '|' operators which returns a bytea, written efficiently in C by stepping through the bytea's in chunks, perhaps.<br />
<br />
=== Extensions ===<br />
* cube extension improvements (indexing, type support, new KNN search metrics) [http://www.postgresql.org/message-id/6A7E75B1-64DD-4F5F-A991-435E3E5A24FB@gmail.com link]<br />
* extending JDBC_FDW to support qual pushdown and/or writeable foreign tables API.<br />
<br />
=== Documentation projects (not eligible for GSoC) ===<br />
* Example database with documentation, perhaps built up from "small/simple" to "big/advanced", may be eventually incorporated/used in PG docs<br />
<br />
=== Tools ===<br />
* Rewrite (add) pg_dump and pg_restore utilities as libraries (.so, .dll & .dylib) [http://www.postgresql.org/message-id/1811491181.20130215163950@gf.microolap.com link]<br />
* Extending MADlib functions to fill in (extrapolate) missing values in data sets [http://www.postgresql.org/message-id/B654BEBE-32D9-4670-BBB7-BC846AE5B785@gmail.com link1] [http://www.postgresql.org/message-id/511E7193.4020907@agliodbs.com link2]<br />
<br />
<br />
== Project Admins ==<br />
<br />
* Thom Brown<br />
* Josh Berkus<br />
<br />
== 2014 Mentors ==<br />
<br />
Mentors volunteered who have been active on -hackers list:<br />
<br />
* Stephen Frost<br />
* Heikki Linnakangas<br />
* David Fetter<br />
* Alexander Korotkov<br />
* Andreas 'ads' Scherbaum<br />
* Atri Sharma<br />
<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=GSoC_2014&diff=21954GSoC 20142014-03-18T01:53:50Z<p>Fabriziomello: </p>
<hr />
<div>This page is for collecting ideas for future Summer of Code projects. For the currently active Summer of Code program, see [[GSoC_2013]]<br />
<br />
== Project Ideas ==<br />
<br />
Project ideas are to be added here.<br />
<br />
(Please can we have visibility of ideas on Hackers please to avoid overreaching what is possible in the time, and also working on dubious projects.)<br />
<br />
=== Core ===<br />
* UPDATE ... RETURNING OLD [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Add RETURNING to DDL (CREATE, ALTER, DROP) and possibly DCL (GRANT, REVOKE) [http://www.postgresql.org/message-id/20130218171259.GA26999@fetter.org link]<br />
* Allow different datatypes to be sliced differently, when TOASTed [http://www.postgresql.org/message-id/CA+U5nMJGgJNt5VXqkR=crtDqXFmuyzwEF23-fD5NuSns+6N5dA@mail.gmail.com link]<br />
* Sequential disk access during VACUUM for GiST/GIN<br />
* Support for index-only scan for GiST<br />
* Support for microvacuum for GiST<br />
* Parallel GIN build using background workers<br />
* Support KNN for SP-GiST<br />
* Implement WAL logging for hash indexes<br />
* Indexing prolonged geometrical objects (i.e. boxes, circles, polygons, not points) with SP-GiST by mapping to 4d-space.<br />
* Make index selection sublinear. Useful for index partitioning (vs table partitioning).<br />
* Add a "nowait" SELECT option which allows just skipping over locked rows instead of throwing an exception<br />
* Optimization- add to the join removal code the ability to remove joins to tables when the join is on a foreign key column (where all entries must exist in the parent anyway)<br />
* Optimization- Check the set of conditionals on a WHERE clause against CHECK constraints on the table being queried and remove any conditionals which *must* be true due to the CHECK constraints<br />
* Investigate the HashJoin code- specifically, review cases where the larger table is hashed instead of the smaller, test making NTUP_PER_BUCKET variable, etc.<br />
* Improve plpgsql error checking- look at existing discussions around GUCs which can be set to increase the warnings that plpgsql throws.<br />
* per-function temp tables (or some kind of scoping for temp tables when used inside of plpgsql code)<br />
* date_trunc() supporting intervals<br />
* Modify the postgres_fdw to allow a server to be defined as "autocommit" or similar- to allow for autonomous transactions<br />
* Modify plpgsql to complain about unused variables<br />
* Comments for function parameters<br />
* Finally clause for pl/pgsql exception handling<br />
* Foreign keys for arrays [http://www.postgresql.org/message-id/1288033876.6278.6.camel@vanquo.pezone.net link]<br />
* Invent an async interface for the Append() node to use, allowing a way to parallelize queries across multiple remote FDWs or local tablespaces.<br />
* Allow an unlogged table to be changed to logged [http://www.postgresql.org/message-id/CAFcNs+peg3VPG2=v6Lu3vfCDP8mt7cs6-RMMXxjxWNLREgSRVQ@mail.gmail.com link]<br />
<br />
=== Extensions ===<br />
* cube extension improvements (indexing, type support, new KNN search metrics) [http://www.postgresql.org/message-id/6A7E75B1-64DD-4F5F-A991-435E3E5A24FB@gmail.com link]<br />
<br />
=== Tools ===<br />
* Rewrite (add) pg_dump and pg_restore utilities as libraries (.so, .dll & .dylib) [http://www.postgresql.org/message-id/1811491181.20130215163950@gf.microolap.com link]<br />
* Extending MADlib functions to fill in (extrapolate) missing values in data sets [http://www.postgresql.org/message-id/B654BEBE-32D9-4670-BBB7-BC846AE5B785@gmail.com link1] [http://www.postgresql.org/message-id/511E7193.4020907@agliodbs.com link2]<br />
<br />
<br />
== Project Admins ==<br />
<br />
* Thom Brown<br />
* Josh Berkus<br />
<br />
== 2014 Mentors ==<br />
<br />
Mentors volunteered who have been active on -hackers list:<br />
<br />
* Stephen Frost<br />
* Heikki Linnakangas<br />
* David Fetter<br />
* Alexander Korotkov<br />
* Andreas 'ads' Scherbaum<br />
* Atri Sharma<br />
<br />
<br />
[[Category:Google Summer of Code]]</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=9.4CF4Triage&diff=216839.4CF4Triage2014-01-10T19:51:59Z<p>Fabriziomello: </p>
<hr />
<div>This page handles suggested patch triage for 9.4 final commitfest patches.<br />
<br />
==Good To Go==<br />
<br />
These patches are ready for commit as soon as the CF starts.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1133 Add support to "IF NOT EXISTS" to others "CREATE" statements]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1324 SSL: Show protocol and ciphersuite in server log]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1325 SSL: libpq: Support TLSv1.1/TLSv1.2]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1298 pg_stat_statements external query text storage]<br />
<br />
==Needs a Little Work==<br />
<br />
Smaller patches which can be included in 9.4 if<br />
they get a few hours of love from a committer or major hacker.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1289 Hstore 2.0]<br />
<br />
==Big Patches==<br />
<br />
Very large, important patches which need a dedicated reviewer/committer for the duration of the commitfest. Ideally should list all dependant patches of each Big Patch.<br />
<br />
* Logical Changeset Extraction (link?)<br />
<br />
==Not Nearly Ready==<br />
<br />
Patches which need major work and/or spec discussions before commitment.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1318 Store Extension Options]<br />
<br />
==WIP==<br />
<br />
Patches which are acknowledged not to be ready, or which are non-trivial patches which have not been introduced prior to CF4.</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=9.4CF4Triage&diff=216829.4CF4Triage2014-01-10T19:50:02Z<p>Fabriziomello: </p>
<hr />
<div>This page handles suggested patch triage for 9.4 final commitfest patches.<br />
<br />
==Good To Go==<br />
<br />
These patches are ready for commit as soon as the CF starts.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1133 Add support to "IF NOT EXISTS" to others "CREATE" statements]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1324 SSL: Show protocol and ciphersuite in server log]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1325 SSL: libpq: Support TLSv1.1/TLSv1.2]<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1298 pg_stat_statements external query text storage]<br />
<br />
==Needs a Little Work==<br />
<br />
Smaller patches which can be included in 9.4 if<br />
they get a few hours of love from a committer or major hacker.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1289 Hstore 2.0]<br />
<br />
==Big Patches==<br />
<br />
Very large, important patches which need a dedicated reviewer/committer for the duration of the commitfest. Ideally should list all dependant patches of each Big Patch.<br />
<br />
* Logical Changeset Extraction (link?)<br />
<br />
==Not Nearly Ready==<br />
<br />
Patches which need major work and/or spec<br />
discussions before commitment.<br />
<br />
==WIP==<br />
<br />
Patches which are acknowledged not to be ready, or which are non-trivial patches which have not been introduced prior to CF4.</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=9.4CF4Triage&diff=216819.4CF4Triage2014-01-10T19:47:11Z<p>Fabriziomello: </p>
<hr />
<div>This page handles suggested patch triage for 9.4 final commitfest patches.<br />
<br />
==Good To Go==<br />
<br />
These patches are ready for commit as soon as the CF starts.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1133 Add support to "IF NOT EXISTS" to others "CREATE" statements]<br />
<br />
==Needs a Little Work==<br />
<br />
Smaller patches which can be included in 9.4 if<br />
they get a few hours of love from a committer or major hacker.<br />
<br />
* [https://commitfest.postgresql.org/action/patch_view?id=1289 Hstore 2.0]<br />
<br />
==Big Patches==<br />
<br />
Very large, important patches which need a dedicated reviewer/committer for the duration of the commitfest. Ideally should list all dependant patches of each Big Patch.<br />
<br />
* Logical Changeset Extraction (link?)<br />
<br />
==Not Nearly Ready==<br />
<br />
Patches which need major work and/or spec<br />
discussions before commitment.<br />
<br />
==WIP==<br />
<br />
Patches which are acknowledged not to be ready, or which are non-trivial patches which have not been introduced prior to CF4.</div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Lock_dependency_information&diff=18415Lock dependency information2012-10-19T19:39:32Z<p>Fabriziomello: /* Flat View of Blocking */</p>
<hr />
<div>{{SnippetInfo|Lock dependency info|lang=SQL|category=Performance}}<br />
At times it is very usefull to see which locks depend uppon each other.<br />
<br />
== Flat View of Blocking ==<br />
<br />
All columns prefixed with ''waiting_'' hold information about the not granted lock, while the colums prefixed with ''other_'' hold information about other locks on the same relation respectively transactionid <br />
<source lang="SQL">-- For PostgreSQL Version < 9.2<br />
SELECT <br />
waiting.locktype AS waiting_locktype,<br />
waiting.relation::regclass AS waiting_table,<br />
waiting_stm.current_query AS waiting_query,<br />
waiting.mode AS waiting_mode,<br />
waiting.pid AS waiting_pid,<br />
other.locktype AS other_locktype,<br />
other.relation::regclass AS other_table,<br />
other_stm.current_query AS other_query,<br />
other.mode AS other_mode,<br />
other.pid AS other_pid,<br />
other.granted AS other_granted<br />
FROM<br />
pg_catalog.pg_locks AS waiting<br />
JOIN<br />
pg_catalog.pg_stat_activity AS waiting_stm<br />
ON (<br />
waiting_stm.procpid = waiting.pid<br />
)<br />
JOIN<br />
pg_catalog.pg_locks AS other<br />
ON (<br />
(<br />
waiting."database" = other."database"<br />
AND waiting.relation = other.relation<br />
)<br />
OR waiting.transactionid = other.transactionid<br />
)<br />
JOIN<br />
pg_catalog.pg_stat_activity AS other_stm<br />
ON (<br />
other_stm.procpid = other.pid<br />
)<br />
WHERE<br />
NOT waiting.granted<br />
AND<br />
waiting.pid <> other.pid<br />
</source><br />
<br><br />
<source lang="SQL">-- For PostgreSQL Version >= 9.2<br />
SELECT <br />
waiting.locktype AS waiting_locktype,<br />
waiting.relation::regclass AS waiting_table,<br />
waiting_stm.query AS waiting_query,<br />
waiting.mode AS waiting_mode,<br />
waiting.pid AS waiting_pid,<br />
other.locktype AS other_locktype,<br />
other.relation::regclass AS other_table,<br />
other_stm.query AS other_query,<br />
other.mode AS other_mode,<br />
other.pid AS other_pid,<br />
other.granted AS other_granted<br />
FROM<br />
pg_catalog.pg_locks AS waiting<br />
JOIN<br />
pg_catalog.pg_stat_activity AS waiting_stm<br />
ON (<br />
waiting_stm.pid = waiting.pid<br />
)<br />
JOIN<br />
pg_catalog.pg_locks AS other<br />
ON (<br />
(<br />
waiting."database" = other."database"<br />
AND waiting.relation = other.relation<br />
)<br />
OR waiting.transactionid = other.transactionid<br />
)<br />
JOIN<br />
pg_catalog.pg_stat_activity AS other_stm<br />
ON (<br />
other_stm.pid = other.pid<br />
)<br />
WHERE<br />
NOT waiting.granted<br />
AND<br />
waiting.pid <> other.pid<br />
</source><br />
<br><br />
It would be useful to add extra columns indicating how long the waiting statement has been blocked.<br />
<br />
== Recursive View of Blocking ==<br />
<br />
<source lang="SQL">WITH RECURSIVE<br />
c(requested, current) AS<br />
( VALUES<br />
('AccessShareLock'::text, 'AccessExclusiveLock'::text),<br />
('RowShareLock'::text, 'ExclusiveLock'::text),<br />
('RowShareLock'::text, 'AccessExclusiveLock'::text),<br />
('RowExclusiveLock'::text, 'ShareLock'::text),<br />
('RowExclusiveLock'::text, 'ShareRowExclusiveLock'::text),<br />
('RowExclusiveLock'::text, 'ExclusiveLock'::text),<br />
('RowExclusiveLock'::text, 'AccessExclusiveLock'::text),<br />
('ShareUpdateExclusiveLock'::text, 'ShareUpdateExclusiveLock'::text),<br />
('ShareUpdateExclusiveLock'::text, 'ShareLock'::text),<br />
('ShareUpdateExclusiveLock'::text, 'ShareRowExclusiveLock'::text),<br />
('ShareUpdateExclusiveLock'::text, 'ExclusiveLock'::text),<br />
('ShareUpdateExclusiveLock'::text, 'AccessExclusiveLock'::text),<br />
('ShareLock'::text, 'RowExclusiveLock'::text),<br />
('ShareLock'::text, 'ShareUpdateExclusiveLock'::text),<br />
('ShareLock'::text, 'ShareRowExclusiveLock'::text),<br />
('ShareLock'::text, 'ExclusiveLock'::text),<br />
('ShareLock'::text, 'AccessExclusiveLock'::text),<br />
('ShareRowExclusiveLock'::text, 'RowExclusiveLock'::text),<br />
('ShareRowExclusiveLock'::text, 'ShareUpdateExclusiveLock'::text),<br />
('ShareRowExclusiveLock'::text, 'ShareLock'::text),<br />
('ShareRowExclusiveLock'::text, 'ShareRowExclusiveLock'::text),<br />
('ShareRowExclusiveLock'::text, 'ExclusiveLock'::text),<br />
('ShareRowExclusiveLock'::text, 'AccessExclusiveLock'::text),<br />
('ExclusiveLock'::text, 'RowShareLock'::text),<br />
('ExclusiveLock'::text, 'RowExclusiveLock'::text),<br />
('ExclusiveLock'::text, 'ShareUpdateExclusiveLock'::text),<br />
('ExclusiveLock'::text, 'ShareLock'::text),<br />
('ExclusiveLock'::text, 'ShareRowExclusiveLock'::text),<br />
('ExclusiveLock'::text, 'ExclusiveLock'::text),<br />
('ExclusiveLock'::text, 'AccessExclusiveLock'::text),<br />
('AccessExclusiveLock'::text, 'AccessShareLock'::text),<br />
('AccessExclusiveLock'::text, 'RowShareLock'::text),<br />
('AccessExclusiveLock'::text, 'RowExclusiveLock'::text),<br />
('AccessExclusiveLock'::text, 'ShareUpdateExclusiveLock'::text),<br />
('AccessExclusiveLock'::text, 'ShareLock'::text),<br />
('AccessExclusiveLock'::text, 'ShareRowExclusiveLock'::text),<br />
('AccessExclusiveLock'::text, 'ExclusiveLock'::text),<br />
('AccessExclusiveLock'::text, 'AccessExclusiveLock'::text)<br />
),<br />
l AS<br />
(<br />
SELECT<br />
(locktype,database,relation::regclass::text,page,tuple,virtualxid,transactionid,classid,objid,objsubid) AS target,<br />
virtualtransaction,<br />
pid,<br />
mode,<br />
granted<br />
FROM pg_catalog.pg_locks<br />
),<br />
t AS<br />
(<br />
SELECT<br />
blocker.target AS blocker_target,<br />
blocker.pid AS blocker_pid,<br />
blocker.mode AS blocker_mode,<br />
'1'::int AS depth,<br />
blocked.target AS target,<br />
blocked.pid AS pid,<br />
blocked.mode AS mode,<br />
blocker.pid::text || ',' || blocked.pid::text AS seq<br />
FROM l blocker<br />
JOIN l blocked<br />
ON ( not blocked.granted<br />
AND blocked.pid != blocker.pid<br />
AND blocked.target IS NOT DISTINCT FROM blocker.target)<br />
JOIN c ON (c.requested = blocked.mode AND c.current = blocker.mode)<br />
UNION ALL<br />
SELECT<br />
blocker.target,<br />
blocker.pid,<br />
blocker.mode,<br />
depth + 1,<br />
blocked.target,<br />
blocked.pid,<br />
blocked.mode,<br />
blocker.seq || ',' || blocked.pid::text<br />
FROM t blocker<br />
JOIN l blocked<br />
ON ( not blocked.granted<br />
AND blocked.pid != blocker.pid<br />
AND blocked.target IS NOT DISTINCT FROM blocker.target)<br />
JOIN c ON (c.requested = blocked.mode AND c.current = blocker.mode)<br />
WHERE depth < 1000<br />
)<br />
SELECT target, blocker_pid, blocker_mode, depth, pid as blocked_pid, mode as blocked_mode, seq<br />
FROM t ORDER BY seq;<br />
</source></div>Fabriziomellohttps://wiki.postgresql.org/index.php?title=Case_Study_Links&diff=18313Case Study Links2012-09-27T17:02:08Z<p>Fabriziomello: </p>
<hr />
<div>== Governments ==<br />
<br />
=== United States ===<br />
* [http://www.nws.noaa.gov/oh/rfcdev/docs/ohd_slides_linux_awips.pdf NOAA migration to PostgreSQL] (2005)<br />
* [http://www.immagic.com/eLibrary/ARCHIVES/GENERAL/DRAVISUS/D030400R.pdf Examples of government agencies and open source use, includes PostgreSQL mentions] (2003)<br />
* [http://www.pgcon.org/2012/schedule/attachments/231_pgcon_2012.pdf Monitoring Ozone Levels with Postgresql] (2012)<br />
<br />
=== Brazil ===<br />
* [http://pgbr.postgresql.org.br/2011/palestras.php?id=54 PostgreSQL 9.0, pgBouncer e escalabilidade no SISREG do Datasus] (2011 -- Portuguese)<br />
* [http://pgbr.postgresql.org.br/2011/palestras.php?id=24 Como o PostgreSQL deu e dá sustentabilidade ao projeto e-cidade] (2011 -- Portuguese)<br />
<br />
== PostGIS ==<br />
<br />
* [http://www.postgis.us/page_case_studies PostGIS Case Studies]<br />
<br />
== Migrating to PostgreSQL ==<br />
<br />
* [http://tapoueh.org/images/fotolog.pdf Large Scale MySQL Migration to PostgreSQL] (2012)<br />
* [http://www.pgcon.org/2012/schedule/attachments/237_pgcon_migrating_big_data.key.pdf Moving Day: Migrating Big Data from A to B] (2012)<br />
* [http://bunsen.credativ.com/~jco/2011/migrating.pdf Migration to PostgreSQL - preparation and methodology] (2011)<br />
* [https://wiki.postgresql.org/images/f/f6/Pgconf-2011-mysql-to-pg-print.pdf https://wiki.postgresql.org/images/f/f6/Pgconf-2011-mysql-to-pg-print.pdf] (2011)<br />
* [http://wiki.postgresql.org/images/1/1c/PGDayEU2010_CNAF_PostgreSQL_migration.pdf The PostgreSQL migration project at CNAF (France)] (2010)<br />
<br />
== Telecommunications ==<br />
* [http://www.setspace.com/~jmscott/pgopen-2012-ams-talk.pdf 12 Calm Years of PostgreSQL in Critical Messaging] (2012)<br />
* [https://wiki.postgresql.org/images/e/e2/Mohan_PGCon_Keynote_10-19-2011.pdf Ram Mohan Keynote: Afilias Winning Bet on Open Source] (2011)<br />
* [http://wiki.postgresql.org/images/0/0c/BillingSystemForTELCO_technical.pdf Billing System for a TELCO based on PostgreSQL] (2011)<br />
* [http://pgbr.postgresql.org.br/2011/palestras.php?id=6 Gateway de Mensagens SMS com PostgreSQL] (2011 -- Portuguese)<br />
<br />
== Finance ==<br />
* [http://www.pgcon.org/2010/audio/06%20PostgreSQL%20in%20Mission-Critical%20Fi.mp3 PostgreSQL in Mission-Critical Financial Systems] (2010) - audio<br />
* [http://www.pgcon.org/2010/schedule/attachments/151_HowWeUsePostgres.pdf Online financial services & Postgres] (2010)<br />
<br />
== Retail ==<br />
* [http://pgbr.postgresql.org.br/2011/palestras.php?id=10 Disponibilidade total com replicação bidirecional e PostgreSQL] (2011 -- Portuguese)<br />
<br />
== Large Deployments ==<br />
* [https://wiki.postgresql.org/images/6/64/HP_Postgres_Insight_RS.pdf HP Performs Large-scale Deployment of Postgres with its Remote Support Software] (2011)<br />
* [http://pgbr.postgresql.org.br/2011/palestras.php?id=31 O Elefante municipal] (2011 -- in Portuguese)<br />
<br />
== Startups ==<br />
* [http://wiki.postgresql.org/images/7/7f/Adam-lowry-postgresopen2011.pdf Postgres at Urban Airship] (2011)</div>Fabriziomello