Solutions Linux is the most important FOSS event in France. The PostgreSQL french-speaking community will have a booth there during the 3 days.
PG Day France is a major French-speaking PostgreSQL community event. This year the conference will be held on Thursday, June 7th in Lyon. A hundred visitors are expected for this day dedicated to PostgreSQL and its associated projects.
You can find more information at: pgday.fr
PGDay NYC 2012 will be held on April 2, 2012 at the Lighthouse International in New York City. PGDay NYC is an intensive one-day PostgreSQL symposium with technical sessions focusing on the core topics you need to succeed with PostgreSQL. It will cover topics for users, developers and contributors to PostgreSQL.
For more information, please see http://pgday.nycpug.org
In-depth course on Replication and Recovery
In-depth course on PostgreSQL administration.
Fifth year of "Prague PostgreSQL Developers Day" conference, organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be held on February 9, 2012 in Prague.
The PostgreSQL project will have a Devroom at FOSDEM 2012, which takes place on February 4-5 in Brussels, Belgium.
As part of a larger project I needed to generate real time radius records from the CDR accounting files of several cluster pairs of Broadsoft application servers. So I wrote a perl script to do just that. It maps the CDR fields to radius attribs and encodes the accounting packet using the Net::Radius::Packet CPAN module. In my case I’m using the Radiator radius server from OSC Software on the other end with lots of custom ‘hook code’ to clean up and store the call data coming off our network into a Postgresql database. This is my first time doing any development with radius.. but I’ve been running this script on several servers for a few weeks now and it appears to be quite stable.
Having shown memory allocation (and deallocation) in my previous blog post, I would like to show work_mem in action.
First, I ran the following database session using a ~6k RPM drive:
In the z/OS environment, tuning a DB2 subsystem may require the DBA and systems programmers to wear multiple hats and approach overall performance tuning from several different angles. What approaches are best in what situations?Mas:
http://www.databasejournal.com/features/db2/db2-zos-systems-tuning-tactics.html
No primeiro artigo desta série, falei sobre a criação de estatística (automática, explícita e implícita). Agora, vou discorrer sobre o processo de atualização (manual e automática). Apresento detalhes de quando a atualização automática ocorre, mencionando, por exemplo, o custo da recompilação, dentre outras coisas.Mas:
http://imasters.com.br/artigo/23463/sql-server/desvendando-estatisticas-do-sql-server-parte-02
Why aren't more people/companies using PostgreSQL? Why aren't they moving from proprietary databases to PostgreSQL?
Possible answers: I haven't heard of PostgreSQL. I don't think PostgreSQL will meet my needs. I don't know how to get away from my database vendor.
I'd like to hear some of the reasons for not considering PostgreSQL when creating or migrating a database.
In my previous blog entry, I analyzed how various tools (ps and smem) report memory usage. In summary:
With these issues understood, let's look at a running Postgres cluster:
Not so long ago I used Common Table Expressions for Fibonacci Numbers calculation.
Today I had a conversation with one client about SQL in general and about PosgreSQL dialect in particular. We talked about SQL’s Turing completeness also. Well my opponent is sure that SQL (Postgres dialect either) is not Turing Complete. But I know for sure that if SQL supports CTE it is Turing Complete. Well, I’m sure about it because some time ago at Oscon 2009 David Fetter said so. And my confidence in this man is boundless.
Anyway, my client proposed to implement Factorial calculation on a pure SQL. I choose Postgres dialect. He agreed.
That was his first mistake! He didn’t know that Postgres has built in “!” and “!!” operators for this purpose.
But to be more convincing, I have wrote this code:
WITH RECURSIVE fact(i, f) AS ( VALUES (2, 1) UNION ALL SELECT i + 1, i * f FROM fact ) SELECT f FROM fact LIMIT 10;Among the long list of new features of PostgreSQL 9.1 the new SQL/MED implementation is probably of the most underrated. SQL/MED is an extension of the SQL standard defines foreign data wrappers (FDW) that allow you to reach data located outside of your database, with regular SQL request (MED stands for Management of External Data). In a nutshell, SQL/MED is cool.
As far as i know, PostgreSQL and DB2 are the only major RDBMS providing an implementation of this standard. The beauty with PostgreSQL is that you can write your own data wrappers to connect your database to any storage you want ; other RDBMS, NoSQL storages, web services, whatever system that holds data and can deliver it.
Basically to Write a Foreign Data Wrapper you need to code six callback routines in C to explain how to plan and execute queries toward your new source of data.
PostgreSQL 9.1 has been released a few month ago, but there's already a bunch of FDW available (even though most of them are still beta). At the time, I'm writing this we already have http://wiki.postgresql.org/wiki/For..., so you can connect your PostgreSQL server to ; Oracle, MySQL, SQLlite, anything providing an ODBC driver, LDAP, couchdb, redis, Amazon S3 storage, CSV files, Twitter, Google Search, HTML pages, RSS feeds, ....
For an almost complete list, check out the PostgreSQL wiki ; http://wiki.postgresql.org/wiki/For...
And of course these wrappers are packaged as extension and most of them are available on PGXN and quite easy to install : http://pgxn.org/tag/fdw/
But there's more ! Among these FDW there's one called Multicorn. This particular extension that allow you to write FDW in Python. A wrapper over another wrapper. Basically this means you don't have to know C to write your own FDW and you can use high-level libraries from the Python world.
Ok let's take a simple example. I'd like to query data contained in a web calendar like Google Calendar. Those data are available in ical files, with a specific format called iCalendar. So want i need to do is explain PostgreSQL how to reach and parse the files.
With Python and Multicorn, this is done with 20 lines of code : see icalfdw.py
And that's it.
Of course this is a basic implementation. We can do better with some optimizations and a few log handling. It's also important to keep in mind that foreign data wrappers have strong limitations... I'll talk about all that and other things in my next blog post.
In the meantime, if you're in Brussels this week-end for FOSDEM you can come to the PostgreSQL Devroom, I'll make a presentation of Multicorn along with its creator.