From PostgreSQL wiki
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 postgresql.org mailing list for the group
- Announce the new group in several places - mainly planet.postgresql.org and email@example.com
- We recommend you get a Meetup.com or similar account for organizing the meetings, and you can ask on pgsql-advocacy for help with it.
Here's a short script for how to go about that:
- check that a user group doesn't already exist in your area on the PUGS page.
- join the pgsql-advocacy mailing list (it's low-traffic)
- post to that list that you want to start the group, and where you are. People on the list will help.
- the folks on -advocacy will add your group to the PUGS page.
- they will also ask on the WWW mailing list for a mailing list for you. Note that you may have to be flexible about the name of the mailing list you get, since the community has some rules for mailing lists.
- if you will need/want an account on Meetup.com 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.
- schedule your first meeting. Suggestions on how to do that TBD (some ideas in the notes below).
- announce the formation of your user group and its first meeting multiple places:
- PostgreSQL News on the front page
- Planet.PostgreSQL.org if you have a blog
- pgsql-general mailing list
If you get stuck or confused, please contact any of the following people: josh-at-postgresql.org, selena-at-postgresql.org, or jkatz-at-postgresql.org
Some additional links for PUG information:
- the PUGS page
- pgsql-advocacy mailing list
- PUG Meeting Checklist for SFPUG as an example
- User Group Category on this wiki
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)
- Some ideas are: (Make reservations well in advance)
- 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
> 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:
- Have everyone share a group experience
- 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.