mercredi, juillet 6 2011

Search Object tool in pgAdmin

Something was missing in pgAdmin, something I didn't believe at first. Jasmin Dizdarevic came up some (long) time ago with a patch implementing a Search Object tool. After lots of discussion, I commited the final patch.

The contextual menu of each database contains a new menu item: "Search objects...".


When you select this item, it'll open a new window asking you to enter a name pattern, and press the "Find" button. Once you've done that, pgAdmin will search each object whose name contains the pattern. It'll will display each object found in the results list.


When you click on one of the results, it will select the object in the browser.

Quite impressive feature if you ask me, and, sure, one that was missing. There are probably a few more tweaks that could be interesting to enhance this feature (like search in the comments, and objects's icons in the results list). What's great is that we still have plenty of time to do that :)

Anyway, thanks a lot to Jasmin Dizdarevic!

lundi, juin 27 2011

Database Designer is finally in

I commited it this morning. First part of Luis's GSoC project this year is now commited. pgAdmin has a graphical database designer. It's not pretty yet, it doesn't have all features I would love to see implemented, so it's rather raw. But it's there. And we can build something great with this.

Here is what I just did with it.


I'll try to find a way to record a session of work with the database designer.

Anyway, it's available in the master branch of pgAdmin's GIT repository (;a=summary). Go grab it, and tell us what you think of it (but keep in mind it's its early stage :) ).

mardi, mai 3 2011

pgAdmin 1.14 beta 1 available

pgAdmin v1.14.0 Beta 1 is now available for testing purpose. You can grab a copy (source or binary) on .

There are many new features in this release. Not as many as I would have liked, but still. There are plenty new things I'm sure you'll like.

Of course, PostgreSQL 9.1 support was our first goal. And it seems we did pretty well on this one. The only thing left out, IIRC, is the security labels. All the other new objects are handled: collation, extension, foreign table. Some old objects are finally available: the SQL/Med ones of course, but also the exclusion constraint and the constraint trigger.

We try to make the UI better too. All windows should work on a 800x600 screen. Even if I'm not sure people still use such small screens.

I'm sorry we still don't have the now usual visual tour. I wrote it last week-end, but it still needs a review of an english native speaker.

Of course, we still find bugs. We already fixed a few. For example, Thom Brown found a lot of issues in the foreign table support. They are fixed. There was a segfault on the property dialog for the index. Fixed too. I also fixed some issues on the DDL for permissions, a bug found by Erwin Brandstetter.

All this means we really need you to test this beta release, and send us (on pgadmin-support mailing list for example) the bugs you found, so that we could get rid of them for the final release.

GSoC project "Development of improvements in pgAdmin physical database designer module" accepted

I'm a bit late to announce it, but Luis's project has been accepted.

Last year, he worked on a database designer. We had something nearly working. Still a few bugs here and there, and quite a lot of cleaning to do. I did some, but didn't had the time to do much of it. So we won't have that for the next release of pgAdmin.

But the good news is that Luis is back. The first part of this project is to clean and debug his code. That should be done in early june. We'll have a commitable patch then. Something I'll commit with pleasure :)

Then, his main work will be to add more, and more features to the database designer.

This will be a really interesting summer :-D

samedi, avril 30 2011

pgAdmin 1.12.3 available...

... since 2011-04-18. I guess we're not good at announcing things :-/

This bugfix release is a long awaited one. We missed to get one out when PostgreSQL 9.0.3 went out. So, this release contains a lot of bugfixes (26). The complete list is available in the changelog. The most interesting patch fixes the issue when a user tried to dump a database whose name is in mixed case. That one was asked so many time, it is just great the release having the fix is finally out.

And while I'm blogging, remember that pgAdmin 1.14 beta 1 will be out next week.

mardi, avril 5 2011

Quick reminder: only three days to apply as a student to GSoC 2011

If you're a student and interested in working on a PostgreSQL project such as PostgreSQL itself, pgAdmin, phpPgAdmin, pgPool-II, you should really hurry to apply as a student and submit a proposal.

There are still three days left to do so.

samedi, décembre 11 2010

Attendees of 2010, send your feedback please

Now that 2010 is over, this is a good time for us to think about what we did right and, perhaps more important, what we did wrong. You can help us on that work by telling us what you think about the venue, the caterer, and the talks (and I mean, each of them, including the keynote).


dimanche, novembre 14 2010

Bugfixes for pgAdmin

Now that most of the already commited 9.1 features are supported by pgAdmin, I realized that we had quite a lot of bugs to fix. 14 if trac is up to date. I'll work on these starting tonight and during next week. Obviously, I won't be able to fix those on Solaris, but I would really like us to have a much smaller number of bugs.

If you know of a bug on pgAdmin, we would like to know about it too. You've got two mailing lists to let us know: pgadmin-hackers and pgadmin-support.

dimanche, novembre 7 2010

End of my californian trip

These two past weeks have been really great. I landed at SFO on the 21st of November. I spent two days at the Google Mentor Summit (more on this on a next blogpost), which was more interesting than I first thought. Then, Magnus Hagander and I spent a few days of holidays on a car trip to Los Angeles. And after three days visiting San Francisco, I went to PGWest.

I never went to PGEast or PGWest before ("only" european PGDay, FOSDEM, and pgCon), so I was really excited about it. The hotel was okay. Kind of expensive I would say. But, more interesting, there were really good talks at it. My favorites were : "The PostgreSQL Query Planner ", "Database-driven cache invalidation", "MVCC Unmasked", "Rapid upgrades with pg_upgrade", and "Building and distributing PostgreSQL extensions without learning C". Of course, I've seen more talks than that, but these five were really awesome. And seeing (and talking to) the people that make PostgreSQL better each day is a really great experience.

Never been at a PostgreSQL conference? you should consider going to 2010 and/or PGEast 2011.

lundi, octobre 4 2010

How to work with pgAdmin's Git repository

The PostgreSQL source tree is now managed with Git. pgAdmin did also its move to Git a few weeks before. With a great help from Magnus, I try to learn this really cool tool. Here are some tips to create patches for pgAdmin using Git. And you can surely use this to create patches for PostgreSQL and Slony too.

Read on.

Lire la suite...

lundi, août 16 2010

pgAdmin GSoC: Database Designer

Luis Ochoa just finished his GSoC. I really think it is a great success. Wanna get a look at it? just watch this nice video.

Unfortunately, I can't commit it right away. There is still work to do. First, I want to read all the code. I know most of it, but I need to get a deeper understanding. Then, the UI needs a lot of work, as Thom Brown already said on the pgAdmin hackers list.

The first thing we need to decide is how to work together. I want Luis to continue his work if he wants too. As pgAdmin is now using Git as its main source code repository, we could probably create a gsoc_dd branch where I could put Luis's current work and where Luis and I can work together to enhance it. Then, when it's ready, we'll merge this branch with the master. Need to get Dave's opinion on this. And I'm still wondering what we should do with the branch once we merged it.

Anyway, even if there's still work to do, it's really exciting. It could be the major new feature for pgAdmin 1.14. And not the only one. There's also the other GSoC project for pgAdmin. Unfortunately I don't have a video link for this one, I didn't even see it live. Just hope for the best. There will be other major features, in the server status window and in the query tool (EXPLAIN XML, I need to find time to work on this one). Yeah, this is really exciting.

lundi, juillet 26 2010

Reset statistics for one table or one function

During 9.0 development, Magnus Hagander added two system functions to reset an object's statistics. The first one, pg_stat_reset_single_table_counters(), to reset a statistics of a specific relation, the second one, pg_stat_reset_single_function_counters(), to reset a function's statistics. I don't know why but it fell off my radar for some reason during the development of pgAdmin 1.11.

So, now that we can start adding new features to pgAdmin, I worked on a patch to use these two system functions.

Say you have a table named t1. It has some statistics. You can see them on the Statistics tab of the browser window:


You want to reset its statistics. Right-click on the table's name in the brower, select "Reset statistics":


pgAdmin will ask you to confirm the action:


And, if you answered yes, pgAdmin will fire the "SELECT pg_stat_reset_single_table_counters(<oid of the table>)" query, and display the new counters:


You probably noticed it didn't reset all counters. That's right. Index counters need to be reset separately. That's something missing on my patch. Something I should fix ASAP.

dimanche, juillet 25 2010

Some news on pgAdmin

I wanted to write something about pgAdmin, but didn't find time to do it. But I guess now is a good time.

pgAdmin 1.12 is still in beta. I fixed a bug yesterday, but I have to say that we have less and less bug reports. Don't forget we need your help to find and fix bugs. And we also need your help to translate the UI. If you've got some spare time, your help woud be greatly appreciated.

Meanwhile, Dave and Magnus moved our repository to GIT. We were using SVN, and Dave even wrote some notes on how to use git-svn. I used it a lot during the coding of 1.12. But, even with git-svn, the move to GIT is really welcomed. So, we now have a few repositories, the two main ones being pgadmin3 and pgadmin-www.

And yesterday, Dave added a tag for the new 1.13 development branch. This is also news to us. Last year, we waited quite some time after the release of 1.10 before opening the repo to new features. This year, the PostgreSQL hackers branched early to ease the development of 9.1. And the pgAdmin guys did the same to ease the development of 1.14.

We already have some new features commited. But I will describe them in another post.

jeudi, juin 17 2010

French translation of 9.0-beta 2 manual is available

It's been a hard work, and it's nearly done. There are still four files to update, and all are under work by the french team. You can read it here, or grab it here in PDF.

So, now, I can get back to work on pgAdmin. And that's cool :)

mercredi, mai 19 2010

New minor releases == new french manuals

It's been quite a long time since I last blogged on Planet PostgreSQL. I think it is time to blog a bit more, and also more frequently.

Last week-end, I updated the french translation of the PostgreSQL manuals. People speaking (or at least reading) french can have a look on the french docs website. We have manuals for all stable releases (7.4, 8.0, 8.1, 8.2, 8.3, and 8.4 releases). We still don't have 9.0. I usually start to work on the upcoming release when beta 1 is available, but couldn't do it for this release : too much pgAdmin related work. I'll start as soon as beta 2 is available.

Last week-end, I also updated the french translation of Slony manuals (but the website is not completely translated). We have 1.2 and 2.0 available.

dimanche, mars 29 2009

Translating pgAdminIII

Having pgAdminIII translated into as many languages as possible and maintaining translations of high quality is essential. People will not use a tool that they do not understand! The pgAdminIII Project always needs new contributors. You do not need any particular skill, except understanding English, writing your own language correctly and motivation.

Let's see how you can contribute to this project.

First step: contact any existing translators for your language

Reference: the Translation Status Page on pgAminIII's website.

Their might already be contributors to the translation of pgAdmin into your language listed on this page. If this is the case, you should get in touch with them and ask them how you can help. If the page is not up to date, you should warn us.

Second step: download the translation files

The applications are translated using pot files, with a 'po' extension: those files basically contain each English string and its translation. There is also a template for creating a pot file for a new translation: it is the file which has a 'pot' extension. In beta tests time, every time a developper changes a string in the application, he will update the pot files and the translation will have to be updated accordingly. Developers use one shell script to merge the pot file with each already existing po file.

So, all you need to do is downloading the .po file of your language in the translation status page of pgAdminIII's website. If you start a new translation, you shoud ask us. You can also download the pot file from the web SVN browser.

Third step: start translating

If there is a file for your language, you will be able to start translating directly. If not, you will have to create a file for your language by copying the pot file and renaming it with a .po suffix. To find your locale identifier, you can use this page.

To translate, you can use a text editor or .po file editor.

If you want to use a simple text editor, open the po file using your favorite one. You will see a main header composed of likes similar to this:

"Project-Id-Version: pgadmin3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-11 00:20+0100\n"
"PO-Revision-Date: 2009-02-11 13:20+0100\n"
"Last-Translator: Guillaume Lelarge <>\n"
"Language-Team: French <>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

Update the PO-Revision-Date field with the current date and time and the Last-Translator field with your name and your email so that the next translator can contact you if he has some questions. After that you can start the real translation job.

Every sentence already translated is displayed in the po file as the following one:

msgid "Invalid file name"
msgstr "Nom de fichier non valide"

Untranslated strings are displayed as this one:

msgid "Only local files may be renamed"
msgstr ""

Some strings may also be marked as fuzzy, which means that the original sentence has changed a bit and that the translation is not totally wrong but still needs to be checked and/or fixed. Make sure to remove the '#,fuzzy' after fixing the string.

#, fuzzy
msgid "Screenshot.png"
msgstr " Screenshot"

msgid allows you to identify the original string and msgstr to identify the translated strings. Modifying the msgid strings will have no effect, if you see a typo in one of them, file a bug. To translate a string or update a translation, just modify the text between the "" in the msgstr field.

Some strings may contain slashes or weird characters such as "%s" or "%i". You should always make sure that those characters are also present in the translated string in the same order, or the application will be broken in your language. To check if your translation is valid, you should use the msgfmt tool:

msgfmt -o pgadmin3.po

If it displays any warning, you must fix it before sharing your translation.

You can also use this tool to see the stats for a given po file, that is to say the number of translated messages, the number of fuzzy and untranslated ones:

msgfmt --statistics -o pgadmin3.po

If you don't want to use a text editor, you can use a more advanced tool. There are a lot in the free software world. The one I prefer is poedit, but use the one you feel comfortable with. You can use it to modify the po files. It updated the po headers automatically, sorts the strings by category (translated, fuzzy and untranslated) and provides a friendly interface.

Fourth step: get your translation in

Once you are done with your translations, if there is already a maintainer for your language, you should send him this file asking him politely to review it and get it in. If not, you should compress your .po file and sent it to me (guillaume AT lelarge DOT info) or to the pgAdminIII's hackers mailing list.

We include your translation in pgAdminIII's package when there are more than 85% of translated strings.

Fifth step: this tutorial sucks and you need more information

The pgAdminIII's website contains a lot of information on its translation page. If you have any questions, please ask them on the pgAdminIII's hackers mailing list.

I hope that I was clear enough and that we will be flooded with new or improved translations! We need you!

PS : I've written this text after reading "Translating XFCE". In fact, many parts of this text is a copy and paste from the one I read. So, many thanks to the XFCE team. And shame on me for stealing big parts of their great text :)

mercredi, février 6 2008

Solutions Linux 2008, PostgreSQLfr booth

Solutions Linux is "The Linux Solutions, Open Source & Free Software Exhibition for Business, Administrations and Communities", according to their website. It's a three days exhibition with some talks (a few of them are free but many others aren't)., the french community, has a booth there since 2005.

This year, we were better organized. We updated our flyers with 8.3 informations, we had shirts and tshirts, and many other goodies. We also had some slides (attached in 2 Impress format, in french and in english) to show at the booth. Of course, we still had our elephant cake (congrats to Stéphane's wife). Simon Riggs joined us the first day. We had a really great time talking with him about his past and future work on PostgreSQL. We saw him hacking a bit on his truncate triggers patch but he mostly talked PostgreSQL to many people around the booth.

Dimitri Fontaine had a talk about pgloader, his great Python tool to quickly load a bunch of datas in a PostgreSQL database. He also talked about his new project : prefix. Jean-Paul Argudo had a talk about 8.3 new features in the database session. I wasn't there (way too many stuff to do on the booth :) ), but I heard they did a good job. People were really impressed.

On the evening of the second day, had a meeting about future works for the association. Translation will continue, some will join to proof read it (by the way, 8.3 french manual is already available). Lots of work are planned on the website. I'll write other blog entries when some of these works will be done.

jeudi, juillet 12 2007 2007, RMLL 2007

I think the french guys were the only one who didn't blog (in english) on so let's try to put an end to this :)


We really had a great time in Prato. The complete staff (guys and girls) was impressive. Talks were very interesting, at least the advanced ones. It's a bit sad that some talks were so small, Simon's one for example. It's also sad that no dev room were available. But having a chance to meet our friends in real life was something we were eager to do. Well, I think this event was a huge success and I'm already waiting for next year's pgday :) A really big kudos to our italian team.


RMLL 2007 is a french free software event that last five days. Each year, they choose a different city. This time, it was in Amiens. PostgreSQLfr had a booth at RMLL for the second time. Stéphane and I had quite some visitors. Many of them told us that the Sun benchmark will help them to promote PostgreSQL at work. I didn't have the time to look at them now but it makes them happy, so thanks Sun, thanks Josh. This benchmark will really help us :) We also gave many flyers and stickers, and talked with many IT professionnals. We still lack some goodies (the italian staff has a lot of them, really different... I was really impressed by that). Unfortunately, mozilla-europe wasn't there so I couldn't ask them about their european group and the way they created it. I'll find another way to get in touch with them. This can help us to bring up the european PostgreSQL group.

I took some pictures that you can see here :

I'll try to put them on flickr when I will have some time.

mardi, mars 13 2007

Re : translation of the website


As far as I know, you can already do it. Just grab the templates in pgweb CVS and translate each HTML file. There's also a .po file to translate (.pot). News items are, ISTM, on a database.

I'm currently doing the templates' translation for the french language. I've done more than half of them but there's still some work to do :)

Oh and there was lots of threads about this on pgsql-www, especially :

And this one can be of interest to you : Language data.


mardi, février 6 2007

Pictures from booth at Solutions Linux 2007

I finally built a gallery with the pictures I took during Solutions Linux 2007. Enjoy :)

I didn't find the time to write more on Solutions Linux 2007 but it was a really great experience. I just hope Devrim will be able to come at the FOSDEM. jpa and I will be there and we will take some goodies with us. See you there.

- page 2 de 3 -