Working effectively with (-support-) the community
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 287 | |
Author | ||
Contributors | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/57078 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Computer animation
01:09
Information technology consultingMiddlewareData managementInformation technology consultingLevel (video gaming)Content (media)Service (economics)Lattice (order)MereologyServer (computing)Office suiteData managementComputer animation
02:24
Link (knot theory)Group actionEvent horizonCache (computing)Electronic mailing listComputer hardwareDatabasePhysical systemOracleData storage deviceParameter (computer programming)Read-only memorySoftware developerView (database)EmailThread (computing)Dependent and independent variablesData warehouseTouchscreenInternetworkingTable (information)Computer animation
02:57
Electronic mailing listEmailHacker (term)InternetworkingCASE <Informatik>Right angleData warehouseAddress spaceService (economics)Computer animation
05:01
Electronic program guideGroup actionSoftwareInterface (computing)Electronic mailing listCompilerAreaRevision controlSoftware developerHacker (term)Translation (relic)Traffic reportingGraphical user interfaceWebsiteVariety (linguistics)Product (business)Event horizonCoordinate systemLink (knot theory)Slide ruleEmailFormal languageElectronic mailing listSoftware developerComputer animation
05:49
Gamma functionRepository (publishing)Maxima and minimaProjective planeRepository (publishing)Computer animation
06:32
EmailMaxima and minimaInternetworkingWeb pageEmailThread (computing)Kernel (computing)YouTubeVideoconferencingProjective planeWeb browserClient (computing)File archiverSoftware developerCASE <Informatik>Scaling (geometry)Context awarenessComputer animation
09:08
Message passingRaw image formatSheaf (mathematics)EmailHuman migrationNumberNumeral (linguistics)Data typeComputer animationSource code
09:59
Revision controlTable (information)Type theoryBinary fileLevel (video gaming)MereologyoutputFunction (mathematics)IntegerFile formatEscape characterString (computer science)Time domainRange (statistics)Address spaceComputer networkData typeImplementationPoint (geometry)Line (geometry)PolygonOrder (biology)Coma BerenicesArray data structureSample (statistics)InfinitySubject indexingConstraint (mathematics)Singuläres IntegralElectric currentSoftware developerKeilförmige AnordnungWeb pageDependent and independent variablesData type1 (number)WikiComputer animationSource code
11:16
Type theoryBinary fileElectric currentRevision controlTable (information)Level (video gaming)MereologySoftware developerFile formatIntegerPoint (geometry)Ordinary differential equationInheritance (object-oriented programming)Source codeData storage deviceCodierung <Programmierung>DatabaseTime zoneTimestampInformationWeb pageData recoveryMixture modelData conversionFormal verificationPeer-to-peerPasswordImplementationoutputBlogEmailServer (computing)Web pageInformationMultiplication signComputer animationXML
11:52
InformationInclusion mapElectronic program guideServer (computing)Table (information)Price indexAmicable numbersHistogramMathematical analysisComputer hardwareDrop (liquid)Dependent and independent variablesRevision controlBlock (periodic table)Parameter (computer programming)Software testingElectronic meeting systemData storage deviceWeightMiniDiscSpacetimeSubject indexingBuffer solutionMach's principleQuarkDatabaseWikiWeb pageQuery languageDisk read-and-write headEmailInformationElectronic program guideSheaf (mathematics)Computer animation
12:37
Order (biology)DatabaseSoftware maintenanceMathematicsMiniDiscServer (computing)StatisticsHistogramCategory of beingFAQSimilarity (geometry)GUI widgetSystem programmingImplementationLink (knot theory)Turing testPrice indexCodeRWE DeaMathematical optimizationLimit (category theory)TheoryOracleInformationParameter (computer programming)Disk read-and-write headWeb pageMathematical optimizationPlanningExtension (kinesiology)Sheaf (mathematics)XMLComputer animation
13:40
Abstract syntax treeRollback (data management)Server (computing)Limit (category theory)Link (knot theory)Web pageStack (abstract data type)Independence (probability theory)Group actionDatabase transactionStatement (computer science)SummierbarkeitWikiDisk read-and-write headWeb pageWebsiteElectronic mailing listMultiplication signFreewareEmailOnline helpFile archiverComputer animation
15:18
Service (economics)Link (knot theory)ExplosionWebsiteInformationComputer hardwareGradientExclusive orEnterprise architectureHuman migrationDatabaseStructural loadBenchmarkSoftware testingArchitectureMathematical optimizationBackupInformation technology consultingInternet service providerLevel (video gaming)MetrologieComputing platformSystem programmingPhysical systemSystem administratorPatch (Unix)Event horizonData managementSoftware maintenanceWeb pageNormal (geometry)Software developerMereologyWeb pageDisk read-and-write headReal numberProduct (business)EmailPatch (Unix)Expected valueWordLimit (category theory)Server (computing)DatabaseElectronic mailing listSoftwareComputer animation
18:18
MaizeSoftwareFormal grammarSoftware developerCore dumpInformationBroadcast programmingInformation securityRevision controlMaxima and minimaFAQLink (knot theory)Demo (music)Ordinary differential equationProcess (computing)Web pageMetreDeclarative programmingComputer animation
19:02
Data storage devicePrice indexPartition (number theory)Key (cryptography)Table (information)HierarchyDrop (liquid)Normal (geometry)ImplementationMoment (mathematics)Constraint (mathematics)Row (database)Error messageInheritance (object-oriented programming)Link (knot theory)Operator (mathematics)Regulärer Ausdruck <Textverarbeitung>InformationPatch (Unix)State of matterComa BerenicesMereologyElectronic mailing listRange (statistics)Type theoryEvent horizonGroup actionLevel (video gaming)TupleUniqueness quantificationInternet service providerNetwork topologySampling (music)SmoothingExclusive orHacker (term)View (database)Message passingEmailThread (computing)EmailMultiplication signXML
19:34
Software developerHacker (term)EmailAreaMultiplication signComputer animation
20:31
Physical systemComputer configurationTime zoneClient (computing)Constraint (mathematics)outputTransport Layer SecurityHacker (term)Complete metric spaceEmailThread (computing)Patch (Unix)Group actionElectronic mailing listLink (knot theory)Event horizonOrdinary differential equationComputerMathematicsCodeLine (geometry)Patch (Unix)Single-precision floating-point formatSoftware testingTask (computing)Source codeCycle (graph theory)EmailSoftware developerComputer animation
21:40
Game theoryPoint (geometry)EmailProcedural programmingProgrammer (hardware)Projective planeElectronic mailing listSource codeComputer animation
22:57
Revision controlLink (knot theory)Thread (computing)Complete metric spaceEmailDean numberEvent horizonMatrix (mathematics)Virtual realityWebsiteExtension (kinesiology)Sanitary sewerInformationServer (computing)Translation (relic)Source codeDatabaseTrailSoftware developerTwitterCodeLogical constantCAN busEvent horizonWebsiteFinite-state machineTouch typingLocal ringWeb pageComputer animation
23:45
Chief information officerEvent horizonMatrix (mathematics)Virtual realityWebsiteExtension (kinesiology)Server (computing)InformationSuSE LINUXEnterprise architecturePhysical systemSummierbarkeitRevision controlConfiguration spaceFingerprintMassSanitary sewerLink (knot theory)Web pageInternet service providerTouch typingOnline helpMultiplication signProcedural programmingPoint (geometry)Projective planeSource codeComputer animation
25:07
Enterprise architectureServer (computing)SuSE LINUXLink (knot theory)AliasingSummierbarkeitPhysical systemRevision controlArmFingerprintInfinite conjugacy class propertyVisual systemWindows ServerConfiguration spaceComputerCentOSFedora CoreSanitary sewerThread (computing)Level (video gaming)Gamma functionMessage passingOpen sourceVirtual machineBuildingClient (computing)Online helpConfiguration spaceMereologyEmailSoftware bugOpen sourceComputer animation
27:51
Product (business)Focus (optics)Meeting/InterviewComputer animation
28:23
Product (business)Focus (optics)Point (geometry)MereologyComputer animation
29:14
MereologyProcess (computing)Software developerLattice (order)Electronic mailing listLocal ringMultiplication signEmailWiki
29:50
Patch (Unix)Multiplication signComputer animationMeeting/Interview
30:45
Patch (Unix)Line (geometry)1 (number)CodeMeeting/Interview
31:24
DampingMeeting/Interview
32:04
ChecklistBitPresentation of a groupInformationVector potentialWikiElectronic program guideMeeting/Interview
32:48
Electronic mailing listConservation lawEmailMeeting/Interview
33:32
Electronic mailing listTelecommunicationEmailRight angleSet (mathematics)Default (computer science)CuboidSearch engine (computing)Meeting/Interview
34:20
EmailConnected spaceThread (computing)Patch (Unix)Meeting/Interview
34:59
Electronic mailing listAbsolute valueMeeting/Interview
35:38
View (database)Meeting/Interview
36:46
Right angleEmailGroup actionMeeting/Interview
38:06
EmailAbsolute valueMultiplication signGroup actionLocal ringMeeting/Interview
39:00
BitEmailMeeting/Interview
39:35
System callTask (computing)Self-organizationMeeting/Interview
40:11
View (database)Point (geometry)1 (number)Meeting/Interview
40:43
VideoconferencingMeeting/Interview
42:32
GradientPoint cloudDatabaseSemiconductor memoryMeeting/InterviewComputer animation
Transcript: English(auto-generated)
01:16
So hello, everybody. Thanks for joining. Title of today's talk, Working Effectively
01:21
and Supporting the Community. For those of you who might have seen previous talks of mine, you might be a bit disappointed. There's no actual technical content. You will not see any shell. It's more about my journey into Postgres, what I learned, what I did wrong, and maybe you will learn something as
01:41
well. That's us, DVI Services. We are Swiss-based with the headquarter in the wonderful continent of Jura in Delamont. We have offices in Basel, Zurich, Bern, and New York. More than 80 in the meantime. What we offer, you can see on the lower left part
02:02
of the slide. We do the classical consulting. We do service level agreements, trainings, and license management when you work, for example, with Oracle or SQL Server or whatever. That's me. All the details are on the slide. Not much to say about me.
02:20
If you want to know anything, just contact me. So let's start. How it all started way back in 2013. The funny thing with Postgres, everything is open and transparently accessible over the internet. So if you go to this URL, I have to shorten it a little
02:41
bit so that you can actually read it on the screen. You will come here. You see the title? I apparently had a performance issue with a 2 gigabyte joint table. And I had a problem. So what was the actual issue?
03:01
We migrated from Oracle Data Warehouse to Postgres 9.1 at that time. And performance was really, really bad. And you can see on the red hat number, it was red hat 5. It's really long ago. Now the problem for me was if that would have been an Oracle issue, I could just have go on and open a service request.
03:22
And then I hope that someone on the Oracle side would help me. Apparently this in Postgres does not work. So what did I have to do? Let's have a look. I had an issue with performance. It was a data warehouse. And we want to migrate it to Postgres. And it was too slow.
03:41
So what do you do in the Postgres world? This was my first real contact with the community. Actually, I started with Postgres some years before. But this was the first real problem I ran into. So somehow I needed help. Surprisingly, either it was by accident
04:02
or I really know what I did do, I did something right. Guess what? If you look at the following screen, there's an email address. The email address in this case was, or it is still pgsqlperformance at postgresql.org.
04:21
This is what I did right. Because if you have a problem with Postgres, what you usually have to do, you have to write an email. When you have to write an email, there are mailing lists. And in Postgres, there are many. For example, you have a mailing list
04:41
which is called general. As the name implies, all the general stuff should go there. There is a performance one you've just seen in the slide before. There's the hackers mailing list. More on that later. There are some hackers and mailing list for announcements and many, many others. All the lists, again, all in the internet.
05:02
Go to the URL. You can find them here. If you have a look, the list is quite large. So whatever topic you are interested in, be it jobs, be it performance, be it SQL, be it women related, advocacy, whatever, you will probably
05:20
find a list for that. You will also find developer lists, which are listed here, all lists in your local language if you prefer to write in your local language, and so on. So remember, mailing lists are important. If you want to know what is there, you have the URL on the slide.
05:41
Head over to the page, and then you can register here to one of the lists. And then you can join the discussion or ask questions. What people usually then ask is, yes, but what about GitHub and GitLab when all the new projects go there?
06:00
Actually, there is a Postgres mirror on GitHub. You have the URL again here. Looks like this. But if you go there, you will see there are no pull requests. There are no issues. So the development for sure does not here. If you look at the right, there's the statement, mirror of the official Postgres Git repository.
06:21
Note that this is just a mirror. We don't work with pull requests on GitHub. To contribute, please go to the wiki and check there. This might sound surprising to you, but it has reasons. So no, development does not happen on GitHub. It does not happen on GitLab.
06:41
You really have to write emails. And preferable in plain text. So why is that? The reasons are quite simple. It just works. So Postgres is developed like this since ages. You can go to the internet and browse back the archives back
07:00
to the beginning. So whatever happened, you can find it there. Everything is public. Nothing is hidden. All you need is an email client and a browser. What is really important, all the infrastructure behind that is maintained by the community itself. So there is no dependency to other projects. For example, if they would move to GitLab,
07:21
then you have a strong dependency on GitLab, even if that is open source, it creates a dependency. So these are the main reasons. What I really would like to recommend to you is there is a video on YouTube. It's called Linux kernel development. Craig Groer Hartman at GitMerge 2016,
07:41
where Craig explaining how the Linux kernel is developed. And this is at much more scale than the Postgres project. And the key points, he is saying it's all plain text. You can run it to Google Translate or whatever. You can take a day, a week to respond.
08:00
We want people who have not plain English as their first language, and email is just what you're writing. So if the kernel can do that, Postgres can do that as well. And there are really good reasons why all the development and all the discussions go by email. And important, don't top post.
08:24
Why? It's all about context. If you look at this, this is one sentence out of my original email. This is the answer. It was Heike in that case. And the answer directly relates to my question.
08:40
If you would do a top posting in that case and the thread gets longer and longer, you are losing the complete context. You have to scroll up and down, and nobody can follow the discussion. So please, if you send emails to whatever Postgres mailing list, do the inline quoting, and place your answer directly below the sentence you are referring to.
09:03
That makes it much easier to follow the discussion. There's also a Wikipedia page explaining the different styles to reply to mails. So if you want to have a look, here it is. You can go through it. There's a section about top posting, and there's also a section about inline quoting.
09:27
But I've also done something wrong. I don't know if you spotted it. It's also in the original email. If you look at this, this was my sentence. And what I did wrong was mail as this.
09:41
I expect that at that time, numeric in Postgres is the same than number in Oracle. And this is, of course, wrong. So what I should have done, of course, I should have a look before the migration what is Postgres offering in regards to data types. And if you have a look here, you
10:01
will see that there are many, many data types for very specific purposes. And it's your responsibility to choose the correct one before doing the migration, and not as I did in the past, after. So please, before you do a migration,
10:21
before you start with Postgres, look at what's available, choose the right one, and then begin your actual work. And if you get this at a reply, regards Tom Lane, then you can be sure the answer is almost correct, because Tom Lane is that guy in the community. I'm not sure if he's the oldest one,
10:40
but for sure he's one of the most good ones. And remember, don't top post. It's all about context. So that was more or less an introduction of what I did right and what I did wrong. So now let's have a look. How does the Postgres thing actually work?
11:03
Before you start, don't do this, but I am saying this. Again, there's a wiki page. Please, please have a look at it. This page is summarizing all the stuff you should not do.
11:20
This is quite important information. The good thing at this page is it's always explaining why not and maybe when you should do it. Topics are wide-ranged. So you can see at SQL, it's about SQL, it's about tool usage, it's about date, data types, time storage, it's about text, and all the other stuff.
11:43
So please do yourself a favor, have a look at this page. These advices are really good, and they are important. This is not the only page in the wiki you should have a look at.
12:01
There's more. Before you post anything related to SQL performance issues, head over to the wiki, go to the slow query questions page, and please read it. That's this one. There's a guide to asking slow query questions. There is a section about what you
12:21
should try before posting. Remember, if you post, someone needs to reply or should reply. That takes time. There is a section about all the information. You should include your email to make it easy for the other side to see what's actually going on. It goes really into the details. You also see some logging parameters
12:41
you could set to get even more information into the log file, which you then, in turn, can send back to the community so the information is there. Before you start a discussion about optimizer hints, this comes up quite frequently.
13:01
Please head over to the wiki. There's a dedicated page for this, which is called optimizer hints discussion. These are the reasons why there are no hints in Postgres. There's also a section where hints can benefit.
13:21
So please don't start the discussion before you understand the reasons why they are not there. By the way, if you really want to have them, there's an extension called PG hint plans. So you can have them, but they are not in core. And they probably will not be for the next years, at least.
13:42
Please don't. Before asking about autonomous transactions, same story. If you come from Oracle, this is quite frequently used. Please head over to the wiki. Same story. Read the page. Understand the history. Understand what happens, why they are not here.
14:03
There are workarounds you can use, but this is the explanation why they are not there. Please don't. So the general topic is a lot of discussions already took place. Before asking something, please search the archives
14:23
before posting. Do not start the same discussions over and over again. That takes too much time for all the people. Please read, understand, and then ask. What you always should remember, answers help on the mailing list is for free.
14:42
People are doing that in your spare time, so you cannot expect them to respond in the way you want that. And always important to remember they are humans, just like you. Even if most of them are paid, they are not paid to support you. They are still doing that for free.
15:01
That's free support, and this free support is actually really good. Please remember that. If you are not happy or for other reasons require professional support, you can also have this. All the support companies are listed on the Postgres website as well.
15:20
So you can head over to here, go wherever your company is located or you want to have the support from, and then you can find all the companies listed, which can provide you professional support. So if you want to have it, it's there. You just have to subscribe to it.
15:40
So all what I have told now does not mean that you cannot improve something. But the most important part is, again, please make yourself familiar with the history. There are reasons for the current implementations, and there are also reasons for the current limitations. And this is quite important to understand. Make yourself familiar with the product
16:01
and the history. A few words about expectations. Have a look at this. So sentences like this you can see quite frequently on the mailing lists. So the sentence is, why does this feature not
16:20
exist in Postgres? Other databases can do that since engines. I absolutely need this. If I don't have it, I cannot use Postgres. What's wrong with this? Well, first of all, other databases. Why is that wrong?
16:42
You are in Postgres. Postgres is not MySQL. It's not MariaDB. It's not SQL Server. It's not Oracle, and it's not DB2. Postgres is Postgres. Only because something is existing in one database, it does not need to be there in Postgres as well.
17:02
The second part of the sentence also is problematic. I absolutely need this, and if I don't have it, I cannot use Postgres. Well, the common answer to this is, patch is welcome. And then you might be surprised. So I need something because I want to use the product,
17:23
and the answer is write it for your own, or at least propose a patch. What? Here, the answer is, again, you need to understand how the product is working. Postgres is a real community project,
17:42
and this comes with consequences. Postgres as a community project, same with the Linux kernel, by the way, depends on contributions. No contributions, no evolvement, no patches, no documentation. There is no roadmap.
18:01
There's even a dedicated page for this, or not a dedicated page for this, but there is a page where you can read this paragraph. Non-commercial, all volunteer, free software. Again, without contributions, nothing happens. Same procedure, you have to link, head over to the page. Here is the paragraph.
18:22
What you can find there are the dates of the next minor releases and an approximate date of the next major release, but that's it. It's a community project. Always remember that. If something is missing, you need to start the discussion.
18:43
Preferable before you code anything. Nothing will go into Postgres without a discussion. Here is an example about declarative partitioning, which finally made it into Postgres 10. Why did I include this one? If you have a look at this discussion, this specific one,
19:04
you will see that it takes some time to read even the initial email. So in this case, I think Amit, yeah, Amit was it, put quite some effort into describing what he wants to do, why he wants to do it,
19:21
even the syntax, and then the discussion started. Probably without coding anything. So if you want to bring something into Postgres, you have to start the discussion.
19:40
But even if there is no roadmap, you can follow what is currently going on. And there are two major areas where you can do that. The first one is go and subscribe to the mailing list, which is called PGSQL Hackers. But be careful. If you do that, this will blow your inbox. Can be several hundred mails per day.
20:01
But this is where development happens. So if you have enough time to read all those mails, you can follow all the development of Postgres by joining this mailing list. And you can see what will probably available in the next minor release or even in the next major release. This is one way of doing it.
20:24
The other way of doing it, there's a public website, which is called commitfest.postgresql.org. And if you go over there, which is this one, this is how the Postgres development cycles are organized. So if you check the current one, which
20:41
is the one which is in progress, you can see all the patches and categorized, which are currently going on. If you take one of them, same story, all starts with an email. You can check the first email, go to whole thread, read the discussion, download the patch,
21:03
apply it to your source code, and test it. That's another way of doing it if you want to follow what's currently going on. So this is the patch. If you want to contribute even more, please sign up as a reviewer. That can be really simple tasks like, is the documentation there?
21:22
Are there any typos? Does the feature do what it is supposed to do? You can do it. You can become a reviewer. You can do reviews without writing a single line of C code. And that actually helps the community because it puts away the effort from other people.
21:43
So this is what you see here. I've just showed you. So as I said, you don't have to be a C programmer to contribute. There are many other ways you can contribute to the project. One of the most important ones, and from my point of view,
22:00
is the documentation. Again, same procedure. There's a dedicated mailing list for the documentation. If you can contribute to the documentation, please do it. That's really, really important. Here's an example from one of my contributions. It was really not a big deal. It was just about a missing word, I guess.
22:22
I reported that to the Postgres docs mailing list, got a reply from Tom Lane. He accepted a proposal, was committed, done, documentation fixed. It can be really as easy as this.
22:41
So in my case, this is what I can do. I can do contributions to the documentations. You can do that probably as well. Other ways to contribute. There are conferences. Again, all of them, or at least if they are community recognized conferences, they are listed on the Postgres website as well.
23:02
So you will see the upcoming events. You'll see FOSTAM. That's what you are attending now. There's BGCONF, ASHA, there's the NOGIC PD Day, and so on and so on, all listed here as long as they are community recognized. Another way, find your local Postgres user group.
23:22
In my case, that's the Swiss one. I will not show you the web page here. You can go there as well if you want. Join your local Postgres user group, submit sessions to the local conferences, and then get in touch with the community. You see, in my case, that was way back in 2016.
23:42
That was my first official Postgres talk, I guess. If you want to go larger, there's Postgres Europe, which is, I don't have the web page for this one. Just go here, which is in the capital city of Europe. Usually, it's not the same every year,
24:00
but it's the same procedure. Either just attend the conference, get in touch with the community, or even submit a session. What else can you do? When it comes to conferences, you can volunteer for organizational help. You can volunteer for a room host. You can do sponsoring and so on. The most important point probably is you will meet.
24:22
The community there can get in touch with the developers, with other Postgres users. That's really, really important. Talk about what you do not to promote yourself. That's not the point, but to promote the project. So make Postgres visible inside your company, outside your company.
24:40
Tell people what you do. Tell people what worked really well, but also tell people what maybe did not work very well. Yes, this requires some spare time. Volunteering is volunteering, so it requires spare time. But it gives you so many things back.
25:01
Even other ways to contribute, you can do, or you can provide test machines. This is what I have open here. So that's the Postgres build farm. Here you can see all the various machines. And the OSS and architectures Postgres is tested against. So if you want to contribute a machine, you can download the build farm client here and integrate your specific configuration into the build
25:23
farm and help by testing Postgres automatically. So some final personal tips from my side. Subscribe to Announce. All the announcement goes there. Announcement can be anything. It can be a conference.
25:41
It can be a new tool. Whatever you can be imagine, subscribe to this list, and you will see what's going on inside the Postgres community. Subscribe to committers. That's, for me at least, really important. If you do that for every commit that goes into the Git tree, you will
26:00
get an email with the commit message. So you can follow quite easily what is going on in Postgres. Subscribe to bugs. So if you want to know what's going on with the bugs in Postgres, please go there, and you will be notified and can follow that as well.
26:21
Don't be shy. The Postgres community is very welcoming. Don't be shy to submit a session. Just do it. In the worst case, you will just not be accepted. But if you are accepted and don't worry, just go give your talk. Everybody will be happy with it. Finally, please try to convince your company
26:43
that open source is the right way to go. This will come with costs, of course, because your company has to invest into open source as well, even if it's part of your loan. But you will have much greater benefits. I've tried that internally. You might know DBI is not only doing open source.
27:02
We are also doing Oracle and other stuff. But in one of our internal events, I tried to describe how that actually works. And I wanted to show you a few slides out of that presentation, because a lot of people after that understood why community is important.
27:21
I tried to do that, or I did that, by using the picture of a burger. So if we assume this burger is the open source software, of course, we have to put steak daven here. The question was, if you look at this burger,
27:41
what is the most important part of the burger for the final result? What do you guess? It's the knife. But why? Using a knife, maybe you know that,
28:00
I hope you know that, requires focus. If you lose the focus, that might hurt you. Focus is important. Focus is on the product or the technology, if you take a look at this picture. Focus is not on marketing.
28:23
Focus is not, or focus is really on the community around the product. And focus is not on a single company. Of course, there are many companies paying people to work on Postgres. The point here is it's not one single company which is controlling the project. It's controlled by the community, not a company.
28:46
So in the end, it all depends on you. You have to bring something to be part of the community. You have seen various ways of doing that. Choose just one of them, and the community will be happy.
29:01
The last famous words, if you really want to blame someone, you can do that. Blame Magnus. He will be happy with that and taking all the blame. So I hope you had some fun. You learned something. That was my personal journey. Took me quite some time to learn all that stuff,
29:22
to find all the wiki pages, to understand how the mailing lists are working, how the development process is working, how you can contribute, how you can step into the community, how you can be part of your local community, and support them. That's it from my side. I'll be happy to answer your questions right now.
29:43
Thanks for joining.
30:04
A few seconds behind, but in any case, I will start now. And I would hope that most of the people have caught up and they have now joined the Q&A session. So thank you very much, Daniel, for the talk. It was really, really nice.
30:21
I'm very happy to have heard it. And I think that we have selected a few questions. We have some time to answer, so people should feel free to post more questions during this talk. So here comes the first question. Do you have any suggestions on how to choose patches
30:41
for review for a beginner? I think this one is pretty easy. Go to the commitfests, pick a small one, one that is easy for you to understand, maybe a documentation patch, and start with those. So that's maybe the easiest thing to start with.
31:02
Yeah, documentation is definitely a good thing. And for code, would you have any suggestions there? Take a simple one, maybe a patch which is just changing a few lines. At least you need to understand some C code to do that.
31:20
But take the small ones first. Excellent, thank you. The next question. Would you say that the bar for contributing to Postgres is too high? It depends what people understand of contribution. I think still a lot of people think contribution means hardcore C coding, but it's not only that.
31:42
Contributing can also be organizing conferences like this one, giving talks. So depending on what you want to do, you can really pick one which fits for you. Maybe you like talking, maybe you like the right documentation. So I don't think the bar is really high. I think when you start from scratch with coding,
32:00
it's maybe a bit higher. Yeah, starting from the hardest things, we make it harder, for sure. Thank you. The next question. There was a lot of great information in the presentation that would be good to summarize into a bit of a newcomer checklist for people to work through.
32:22
Does a beginner checklist already exist or could that be a potential new contribution? I'm not sure if that exists, to be honest. I know there is a wiki page with to-dos. Maybe this could be something like that, but I don't think there's especially a beginner's guide for Postgres.
32:41
But I like the idea to create something in that area. Right, I think you're very, very correct. There is a to-do list. Maybe people should check there and see. The next question. What would you say is that makes
33:01
the Postgres community healthy and inclusive? That's easy. It's the people. So if you check the mailing list, there's a lot of trust, I would say. People try to help each other. More and more people are stepping into the list. I see some faces from the Oracle community popping up there.
33:21
There's a lot of conservations. I really like it and I think that's what makes the Postgres community so good and welcoming. Right, thank you. The next question. How to search the mailing list archives effectively, especially asking for the younger folks
33:42
who are more used to other communication tools? Personally, I found Postgres Pro, but I don't think this is how most people active in the community are going about this, or am I wrong here? I can tell you how I do it. I go to www.postgresco.org, go to the community, go to the mailing list you are interested in,
34:02
and then there you have a search box. Just be careful. I think the default search is just for the last year. You can change that in the advanced settings. But I personally never use Google or whatever search engine for that. I directly go to the list and then search there. Right.
34:20
If you allow me, I think you mentioned earlier the commit fest. Is there a connection between the commit fest and the mailing list? Yes, there is. If you go to a specific patch, you can always see the discussion thread where the whole discussion started. So you can jump from the commit fest to the archives. Yes.
34:40
But only for that specific patch. So if you want to do a general search, please go there directly. Of course, thank you. Right, the next one. That is nice. Is there a PostgreSQL TikTok channel that I should subscribe to? A techno channel. TikTok channel.
35:02
Oh, don't ask me anything about TikTok. I'm sorry about that. Yeah, I'm sorry. But thank you for the question. I think that's the last one I can see, at least here in the list. I don't know. Is there something that you would like to add
35:22
based on the questions gathered so far? Not really. I think I have covered most of them in the presentation already. That was anyway the goal of it. So I hope you enjoyed that. Absolutely. And I definitely learned quite some things.
35:41
Thank you. I have been in the community for some time, but it's always nice to hear the view of someone else. So we will continue being on the channels here, but if there are no more questions, people can hang around in the Dev Room or in the Stunt Room of the Postgres talk.
36:02
And we can wait here for a few minutes for some more questions to be posted, so that we can answer those if that's okay.
36:37
Actually, a random question that came to mind. You've mentioned that you are located in Switzerland.
36:44
Is that correct? No, I'm working in Switzerland, but I'm located in Germany. Sorry, Switzerland, Germany. Is there a Postgres user group community active during the pandemic there? There's a German Postgres user group,
37:01
but most of what we're doing, actually, maybe someone can correct me here, is organizing the Postgres conference in Germany, which will be in May this year, by the way. But from the mailing list, I think nothing much is happening there. Right, so this is the upg-conf.de.
37:24
Exactly, yeah. Right. Thank you. You're welcome.
38:05
Okay, if you allow me again, then I have another question, sorry. What was your first contribution? We saw that in your presentation, you had a mail. So did you start directly with code, or? No, it was a contribution to the documentation.
38:22
Okay. And how did you move on from there, then? I personally do not write C code, just to be clear about that. I continued with the local user group in Switzerland, just to help organizing the user group there,
38:40
then stepped into the German one. And that's how I did, yeah. Tried to spend as much time as I can to read the mails on Hackers, but that's not easy to follow. That's just too much traffic. But that's how it usually goes for me. Yeah, absolutely.
39:01
There are some places that they're a little bit too involved, they have too much traffic, some mailing lists that they have too much traffic to follow on a not everyday basis, for sure. And from then on, like contributing to the community,
39:22
you mentioned conferences. So how is it to actually help in a conference? What one is tasked with? What does one do? By helping? Yes. That starts with the whole organization. Organizing a conference is not an easy task.
39:42
You need to find the rooms, you need to organize the call for papers, all that stuff around it. And when the conference actually is running, you need to scan the batches, you need room hosts, packing all the stuff from the sponsors, things like that.
40:01
So it's a lot of work that needs to be done before the conference, but also during, so one can volunteer for both of these times. Yeah, sure. So most of the work actually is before the conference, at least from my point of view. Of course.
40:21
And do people that tend to help in one conference come back for the next one? This I can only say for the German and for the European one, definitely yes. Yeah, looking forward to the next ones.
40:42
I hope that can happen this year. Yeah.
42:17
Okay, there seems to not be any more questions so we can possibly leave the video room
42:25
for the people and then let them join the next talk, which will be at three o'clock. If I remember correctly, Daniel is exploring Linux memory usage and IO performance for cloud native databases.
42:41
So thank you very much, Daniel, for the talk and Q&A. Thank you for contributing and helping the community. Thank you, it was a pleasure. See you, bye-bye.