Migrating Oracle queries to PostgreSQL - PostgreSQL: The world's
POSTGRESQL PROJECT€¦ · POSTGRESQL PROJECT ITS ORGANIZATION, ITS CONTRIBUTORS Written by...
Transcript of POSTGRESQL PROJECT€¦ · POSTGRESQL PROJECT ITS ORGANIZATION, ITS CONTRIBUTORS Written by...
POSTGRESQL PROJECTITS ORGANIZATION, ITS CONTRIBUTORS
Written by / Guillaume Lelarge @g_lelarge
AUTHORAuthor: Guillaume Lelarge
major contributorex - pgAdmin devfrench translator of the PostgreSQL manualtreasurer of PostgreSQL Europe
Company: Date: June 2016
Dalibo
AGENDAOrganization throughout PostgreSQL's history
Issues, and solutionsTools usedDevelopment
minor, and releasealpha, beta, release candidate, GA
Different kind of contributorsOrgs related to PostgreSQL
intl NPOs, National NPos, and meetups
PART 1EVOLUTION
POSTGRESQLFree Relational DataBase System (MIT/BSD)Very respectful of standards and dataGreat portabilityAwesome community
A BIT OF HISTORY1970: Ingres development1985: Postgres development1995: Adding SQL support1996: code is free
project renamed to PostgreSQLcreation of PGDG
DEV TOOLS IN 1996PostgreSQL Licence (MIT)CVS repositoryMailing lists
DEV CYCLE IN 96Patches sent on the mailing list... and commited when a commiter had the time to checkthe patchFew commiters
CHECKING A PATCHData consistencySQL standardPerformancesInteresting feature for many peopleCode simplicityDocumentation
THE COMMUNITY GROWSReleases are comingOne new major release every 10/12 monthsThe community grows
especially with the 8.0 and 9.0 releasesThe developper community grows too
PROBLEMS START COMING INMore developpers with less knowledge of the whole codeMore supported platforms
BUILDFARM TOOLWebapp to show results of compiling/installing/unittestingPerl client making easy to add a compilation nodeWritten and maintained by Andrew Dunstan
NEW PROBLEMS ARRIVEMore and more patchsBut still few committersHence a patchs waiting list growing:
some patches are checked very late in the dev cycledevelopers starting to be angryfinal releases being pushed backusers and commiters angry too
FIRST SOLUTION: COMMITFESTAt the beginning of the 8.3 dev cycleFor each new patch, add an entry in the wikiPatch reviewers working every too months to empty thepatch queuePatch reviewing is quickerBut many reviewers are afraid of big patches
HAVING A BETTER COMMITFEST8.4 development
add a commitfest handlercreate a commitfest webapp
9.0 developmentalpha release packaging
SECOND SOLUTION: MORECOMMITERS
4 new commiters during 9.0 dev cycle2 more during 9.3 dev cycle1 more during 9.6 dev cycleA total of 22 commiters
STILL MORE ISSUESMore unit testing in the build farmBut nothing performance-wise
NEW SOLUTION: PERFORMANCEFARM
Hard to get it rightStill a WIP
PART 2TOOLS
COMPILATION TOOLSMostly C Language
ISO89Standard Linux ToolchainWindows Toolchain
before 9.2, Visual C++ 20089.2, Visual C++ 20129.3 and 9.4, Visual C++ 2015since 9.5+, Visual C++ 2015
SOURCE REPOSITORY TOOLCVS from the beginning and till 2010CVS-Git for 2 yearsMoving to Git mi-september 2010
BUG TRACKER TOOLNo bugtracker for PostgreSQLpgsql-bugs for bugspgsql-* for feature requestsBut... we see some work on this during the last months
TALK TOOLAll discussions happen on mailing lists
mostlypgsql-hackers for developmentand many pgsql-* for the rest
COMMITFEST TOOLcommitfest.postgresql.org webappWritten by Robert HaasPHP language, PostgreSQL database (what else?)
COMMITFEST TOOL, V2commitfest.postgresql.org webappWritten by Magnus HaganderPython language, though still a PostgreSQL database
BUILDFARMMany servers (40)Many OSesMany compilatorsMany distributionsDifferent compilation options
PART 3THE VARIOUS STEPS OF AN UPGRADE
TWO KINDS OF RELEASESMinor: bug and security fixesMajor: new features
BUG FIXFirst check it actually is a bugFix the bugged releaseCheck on every other maintained releases
and the next oneAnd fix them if appropriate
NEW MINOR RELEASEHappens on all maintained stable releasesEvery 2/3 months
unless major bug (data corruption and alike) andsecurity issue
NEW MAJOR RELEASEEvery 12/15 monthsRight a�er, creation of a new branchDevelopment of the next major release starts
except for 9.1 and 9.2 where the development of thenext release started before the release of the currentone
PATCH LIFE CYCLEDiscussion
find the actual issueto search the right fix
Write the codeSubmit the patchReview the patchFix the patch if necessaryCommit the patch
ALPHA RELEASESA�er each commitfestAllow users to test new features without needing to grabthe git releaseAllow devs to know if a a bug in a specific alpha releasehas already been fixed... or notNot done anymore
FEATURE FREEZEMight be very longCheck latest patchesDebug, debug, debugTranslation workAdvocacy work
BETA RELEASESNo new featuresAdd available translationsSource packagingAnd some binary packagingCommon effort from users and devs
feature testscompilation testsperformance tests
RELEASE CANDIDATEOnly when there's no bugs le�Last not much
J-5: PACKAGESTag in the repositoryBuild source packageSend informations to the packagersPrepare binary packages
RELEASE DATEInternational press kitAnnounce on the website and on the mailing lists
PART 4CONTRIBUTORS
CORE TEAMFrom le� to right, and up to down...
Tom LaneBruce MomjianMagnus HaganderDave PageJosh BerkusPeter Eisentraut
CORE TEAM DUTIESChoosing the right date for a new releaseContact for security issuesDecide when the community doesn't reach a consensus
CODE CONTRIBUTORSDevReviewerCommiter
OTHER CONTRIBUTORSAll are very important
admin teamadvocacy teamspeakerstranslators
CONTRIBUTOR ON A FREE PROJECT:A HOBBY?
Some do it on their free timeBut most of them are paid for it
either by their companyor for a specific code writing
PART 5INTERNATIONAL COMMUNITY
MEETUPSIn every countriesItalyFrance (Paris, Lyon, Nantes, Lille)United KingdomSweden
NATIONAL ORGSJapanFranceItaliaRussia
MULTI-NATIONAL ORGSPostgreSQL EuropePostgreSQL US
SOLUTIONS LINUX 2007, JAN 2007
FOSDEM 2007
PGDAY.IT 2007
PGDAY.IT 2007
PGDAY.IT 2007
PGDAY.IT 2007
PGDAY.IT 2007
FOSDEM 2008
PGDAY.EU 2010
PGDAY.EU 2010
PGDAY.EU 2010
FOSDEM 2011
FOSDEM 2011
PGCONF.EU 2016
LIST OF NEXT EVENTS2016-07-05, PGDay UK 2016, London, United Kingdom2016-07-06, PGDay'16 Russia, St. Petersburg, Russia2016-09-13 – 2016-09-16, PostgresOpen 2016, Dallas,Texas, United States2016-11-01 – 2016-11-04, PGConf.EU 2016, Tallinn, Estonia
CONCLUSIONPostgreSQL is a project very much aliveTrying to find solutions to organization issuesTrying to incorporate every kind of contributors