From PostgreSQL wiki

Jump to: navigation, search


PostgreSQL User Group Operating Manual

This is an incomplete document about how to start and run a PostgreSQL User Group. Please help us finish it!

Creating a New User Group

So, you've got a bunch of PostgreSQL users in your area and you want to start a new PostgreSQL user group. You'll want to:

  • Get listed on the PUGs page
  • Get a way to list meetings. Generally this is via or something similar. See below.
  • Announce the new group in several places - mainly and

Places to list PUG meetings

Note that, as a rule, no longer offers mailing lists for PUGs since we find that they are not used. Instead, you should use one of the following:

  • or a similar service (BigTent, GroupSpaces, etc.)
  • Google Calendar
  • Facebook
  • Some service which is popular in your country.

If there are fees associated with the service you want to use, ask on pgsql-advocacy about getting funded. Once you have a calendar page, then you can submit that for the PUGs page as a location for your PUG.

Starting your PUG

Here's a short script for how to go about that:

  1. check that a user group doesn't already exist in your area on the PUGS page.
  2. join the pgsql-advocacy mailing list (it's low-traffic)
  3. post to that list that you want to start the group, and where you are. People on the list will help.
  4. the folks on -advocacy will add your group to the PUGS page.
  5. if you will need/want an account on or another paid meeting service, you should ask for that as well. The advocacy geeks will connect you with your local nonprofit foundation, which can help pay for the account.
  6. schedule your first meeting. Suggestions on how to do that TBD (some ideas in the notes below).
  7. announce the formation of your user group and its first meeting multiple places:
    • PostgreSQL News on the front page
    • PostgreSQL Events on the front page
    • if you have a blog
    • pgsql-general mailing list

If you get stuck or confused, please contact any of the following people: or

Holding your First Meeting

A successful PUG meeting has three things:

  • A centrally-located venue
  • A presentation topic (so there's a reason to go)
  • Food and drink (so people don't have to skip dinner)

So to start your first meetup:

  1. Find a venue (see below)
  2. Schedule your first meetup for around 2 months away
  3. Figure out food/refreshments (see below)
  4. Announce your first meeting multiple places
  5. Send out reminders on appropriate social media several times

Venue ideas:

  • Your company
  • Another PostgreSQL-using organization in town
  • Public community meeting spaces
  • A restaurant with an upstairs/back meeting room

If the venue doesn't have a screen/projector, you will need to be prepared to bring your own. Venues which don't charge a fee are obviously much better. Keep in mind that your first few meetings will be very small.

It's good to cultivate a list of potential venues. Companies are much more willing to host one or two meetings a year than one every month.

Food and Refreshments:

It is very important to have food and drink at evening meetings, because if attendees need to seek out dinner on their own, your attendence will go way down.

For your very first meetup, many of the PostgreSQL nonprofits are willing to sponsor food/drink, ask about this on pgsql-advocacy. Of course, if you can find sponsorship on your own, that's even better, and you will need to do so in later meetings. You can also consider "passing the hat" for pizza or some other inexpensive food; make sure that attendees know about this in advance. Also, be prepared for the hat to not quite make up the cost of the food.

For ordering food, consider that actual attendance tends to be 40-60% of RSVPs. Don't over-order. Also remember that you'll have some folks on special diets, like vegetarians.

Announcing your first meeting

Announce your meeting multiple places:

  • PostgreSQL News and PostgreSQL Events (see below)
  • pgsql-advocacy mailing list
  • pgsql-general mailing list
  • Your blog
  • Twitter/Facebook/etc.

PostgreSQL News and Events are linked from the home page. To post on them, first you'll need a Community Account, and then you'll need to ask for an Organizational Account for your PUG. This has to be approved, so ask early.

Note that this "announcement blast" is only really appropriate for your first meeting. For later, regular meetings, the only appropriate locations for announcing are on your PUG page/calendar, and your blog/twitter. Please do not post every meeting you have to all of the above locations.

Holding More Meetings

It's important, especially in your first year, to try to hold regular meetings as much as possible. This will mean holding some meetings where the attendance is 5 people. That's OK; building a new user group takes time. The second meeting of SFPUG had 3 people at it, and now SFPUG has 1000 members. The important thing is to have regular meetings so that the local users start to expect to be at your PUG every month.


Some additional links for PUG information:


Below are addtional notes for parts of this document which aren't yet cleaned up and organized. Please read through them for ideas!

  • Finding a place to meet and picking a regular time and day
    • Some ideas are: (Make reservations well in advance)
      • Library Conference Rooms
      • Restaurant Conference Rooms (advantage is everyone orders what they like)
      • Company Conference Rooms
      • Students may have access to school facilities (Be sure to get approval from school)
  • Announcing your meeting
    • Contact local school CS departments and clubs (in person is better that email)
    • Contact other local User Groups (e.g. Perl-Mongers)
  • Advertising your group
    • Create a PUG business card
    • Have Flyers posted announcing upcoming meetings at near by campuses
  • Meeting topics
  • Meeting structure suggestions
  • Meeting Checklist
  • Connecting with other user groups
  • Organizing a PGDay
  • PostgreSQL Advocacy resources

Brain Dump

> I have no problem inviting
> people to get together for a casual drink and talk about Postgres, but
> that's about as much of a plan as I have. 
Honestly, that could be the best way to start. There is no single
formula for what actually happens at a user group - because that is
highly dependent on who actually attends :)
  • PDXPUG's background story:

My first user group meeting in Portland was three people - one of whom was a *really* good friend that I conned into coming, and the other was a long-time Perl Monger, sort of a friend, and a maintainer of a Perl + PostgreSQL content management system. So, now, we regularly have 15 people. It takes a while to build up, but I have to say that running PDXPUG has been the most fun experience I've had with open source people. We regularly hack on stuff together, and are all pretty good friends at this point.

  • Tips on starting out:

The best places are existing user groups - do you have a Linux user group? Just send an email to that mailing list and ask about people interested in database stuff, and PostgreSQL in particular.

There may also be some other open source folks who work in the web space - PHP developers, Perl/Python folks and even Rubyists. Many of them would be interested simply to meet other people who know a bit more about PostgreSQL than they do. We get quite a few people who just drop in from time to time when they've got a problem they would like to talk to some database folks about.

Does the local university have a computer science department? Any database people in it? And, short of database people, who are the professors that teach the database courses? Sometimes you can get a friendly professor to advertise the group to students. We get masters and PHd students attending and even presenting at our meetings.

All the stuff I mentioned above can be accomplished by just sending out a few emails. Following up with phone calls can also be quite helpful, but is not typically necessary.

The secrets to success are:

  • Have the meeting at a regular time and place (once a month, at a certain day and time seems to work really well).
  • Advertise 2 weeks ahead, on Monday before the meeting, and then again on the day of the meeting
    • send your 2 weeks-ahead and Monday before the meeting announcements to all the local open-source friendly mailing lists - or at least the leaders of those mailing lists for distribution
    • Mondays/Fridays are bad nights for meetings, unless you have an extremely dedicated group, or are focusing on Friday happy hour
  • Have a particular topic to discuss, and a plan for holding people's attention for at least 20 minutes
  • Have time for socializing - at the pub, or at the place where everyone is meeting
  • Make sure that everyone goes around the room and introduces themselves somehow
    • Lots of geeks hate this, but in the end, they see how valuable it is
    • We try to make up a silly question -- like, "what is your favorite EXPLAIN operator?", "Chocolate or beer?"
    • Primarily, you're trying to get everyone to say their name, and then some little thing that will help you remember who they are
    • Do this EVERY time.
  • Make other announcements -- you could take them from the postgres weekly news, from stuff you know is going on around town, also just ask everyone that's present if they have any announcements to share.
  • Have the "meet and talk" portion of the get-together be in a place where everyone can *hear* each other. The pub is great, but unless you have a space that's off to the side and a bit quieter, you'll have a hard time.
  • After every meeting, post a paragraph or two about what happened. Some people go nuts and write a novel about what happened (which can be awesome!), but just a few sentences that confirm your existence, and that you had a good time is enough advertisement to convince a new person to show up next time.

There's really two things you're trying to accomplish with the meetings:

  1. Have everyone share a group experience
  2. Allow people to break off into smaller 2-3 person groups and *really* get to know each other

When you accomplish #1, then everyone has something that they can small talk about, and that leads to better group cohesiveness.

Finally, as far as topics go -- they do not matter as much as you would think. It is *definitely* enough to simply have people talk about what they do in their jobs - for just 20 minutes if they're not up for a 45-minute talk. We did something with EXPLAIN operators, where a member of the group would give a short description of an EXPLAIN operator and an example at the start. That was really cool, actually, and we learned a lot.

To get topics, I just ask people until they give in :) And, I do my best to get 2 talks lined up at a time, to save myself some work.

The key is - start having meetings, and just keep having them, even if only 3-4 people show up.

Personal tools