Change in anonymization of plans on explain.depesz.com

As you perhaps know, explain.depesz.com has anonymization feature.

Couple of days ago Filip contacted me and sent a patch that stopped anonymization of typecasts.

I thought about the patch, and what it achieves, changed it's internals, but kept the effect. And today, it got released.

Continue reading Change in anonymization of plans on explain.depesz.com

Waiting for 9.2 – split of current_query in pg_stat_activity

On 19t of January, Magnus Hagander committed patch:

Separate state from query string in pg_stat_activity
 
This separates the state (running/idle/idleintransaction etc) into
it's own field ("state"), and leaves the query field containing just
query text.
 
The query text will now mean "current query" when a query is running
and "last query" in other states. Accordingly,the field has been
renamed from current_query to query.
 
Since backwards compatibility was broken anyway to make that, the procpid
field has also been renamed to pid - along with the same field in
pg_stat_replication for consistency.
 
Scott Mead and Magnus Hagander, review work from Greg Smith

Continue reading Waiting for 9.2 – split of current_query in pg_stat_activity

Waiting for 9.2 – NULLS from pg_*_size() functions

On 19t of January, Heikki Linnakangas committed patch:

Make pg_relation_size() and friends return NULL if the object doesn't exist.
 
That avoids errors when the functions are used in queries like "SELECT
pg_relation_size(oid) FROM pg_class", and a table is dropped concurrently.
 
Phil Sorber

Continue reading Waiting for 9.2 – NULLS from pg_*_size() functions

What is the point of social sites? / Do czego służą serwisy społecznościowe?

[wersja polska poniżej / polish version below]

For a quite long time there is a number of social services/sites out there. myspace, facebook, google+, twitter and probably hundreds of others.

I don't have anything against them, but one thing bugs me, and perhaps someone reading this could help me: what is the point of these sites? I mean literally, let's assume you are talking with an alien from other galaxy, and you want to explain why people are using these sites. I am that alien. Tested twitter and google+, and can't find any use in my life for them. But millions of other people do. Which means that (most likely) I'm missing out on something. “Being social" is terribly vague. Can anyone of you tell me what is possible (or significantly easier) that wasn't possible before (or was much harder) thanks to these services?

I am very serious about it – I doubt that it will turn me into user, but at the very least I want to understand what drives people to use it.

[wersja polska / polish version]

Od długiego czasu istnieje szereg serwisów społecznościowych. myspace, facebook, google +, Twitter i pewnie setki innych (a to tylko te światowe, w Polsce są/były grono, nasza-klasa, blip i pewnie inne).

Nie mam nic przeciwko nim, ale jedna rzecz mnie męczy, i może któryś czytelnik może mi pomóc: jaki jest sens tych site'ów? Chodzi mi o całkowicie dosłowny sens. Załóżmy, że rozmawiasz z obcymi z innej galaktyki, i chcesz wyjaśnić, czemu ludzie korzystają z tego. Ja jestem ten kosmita. Testowałem twittera i google +, i nie mogę znaleźć żadnego przypadku w moim życiu gdzie chciałbym ich użyć. Ale miliony znajdują sens i zastosowanie. Oznacza to (najprawdopodobniej), że brakuje mi czegoś. “Społeczność" jest mało konkretna. Czy ktoś z was mi powiedzieć, co jest możliwe (lub znacznie prostsze), a nie było możliwe (lub było o wiele trudniejsze) przed postaniem tych serwisów?

Piszę całkiem serio – nie sądzę bym stał się użytkownikiem, ale przynajmniej (może) zrozumiem co powoduje, że ludzie korzystają z tego.

OmniPITR 0.3.0

Just released version 0.3.0 of our tool for handling WAL based replication in PostgreSQL – OmniPITR.

Version jump is related to addition of another tool – omnipitr-synch. This tool is used to copy PostgreSQL data dir (including all tablespaces of course) to remote location(s).

While this process is usually simple (call pg_start_backup(), transfer data, call pg_stop_backup()), thanks to the tool it can be wrapped as single call, with standardized logging, and tested logic. It also makes it trivial, and cheap, to setup more than one new slave at a time, without need to read data off master more than once.