[Python] Feature Postgres in Python [era: Usare il db giusto, non quello sbagliato]

Daniele Varrazzo piro a develer.com
Ven 12 Lug 2013 09:22:09 CEST


On 2013-07-12 07:50, Marco Beri wrote:
> 2013/7/12 Daniele Varrazzo <piro a develer.com>
>
>> al flame non partecipo, mi sembra piuttosto gratuito.
>>
>
> E fai bene.
>
> Però ci penso io a farti partecipare citando una tua slide :-)
>
> "People moves from PHP to Python looking for a more sane environment 
> pretty
> much as MySQL people start using Postgres when they grow up."

Non è che non sia d'accordo. Ma ho un contesto, non è un rant from 
nothing. :-)

>
> Volevo solo segnalarvi che giusto domani ho un talk al PGDay UK su 
> Psycopg.
>> No, non chiedo se ci siete, immagino sia tardino :) Ma tra gli 
>> argomenti
>> che tocco c'è giusto come integrare queste nuove feature in Python 
>> (json,
>> hstore...) È solo una sorvolata sugli argomenti: tutti i dettagli 
>> sono nel
>> manuale. Ma se uno non sa che una feature esiste non se la cerca nel
>> manuale, giusto?
>> Lo slideshow è già online su <https://github.com/dvarrazzo/**
>> psycopg-pgdayuk-2013 
>> <https://github.com/dvarrazzo/psycopg-pgdayuk-2013>>.
>> Contiene anche una demo che considero gustosa: come inviare segnali
>> asincroni dal database direttamente ai browser web (ed essendo lo 
>> slideshow
>> in html, la demo effettua un push direttamente da psql allo 
>> slideshow :).
>> Beh, anche lo slideshow è interessante in sè, visto che è scritto in
>> reST... Insomma, se volete date pure un'occhiata: c'è più di uno 
>> spunto
>> (sia riguardo Postgres che altro).
>
>
> Come sempre, grazie mille. Interessantissime.
>
> Tre note veloci da nitpicker :-)
>
> 1) Il suggerimento che hai dato per diagnosticare gli idle a me non
> funziona:
>
> pippo=> select * from pg_stat_activity where current_query ~ '<IDLE> 
> in';
> ERROR:  column "current_query" does not exist
> LINE 1: select * from pg_stat_activity where current_query ~ 
> '<IDLE>...
>
> Dove toppo?

Forse hai PG 9.2, dove la tabella ha cambiato schema. So che la nuova è 
più facile da leggere, ma non so i dettagli.

> 2) Nella slide dove citi Little Bobby Tables mi sa che hai scritto 
> "second"
> ma intendevi "first" nel commento finale.
>
> cur.execute("select * from blah where key = '" + key + "'") #
> BADcur.execute("select * from blah where key = %s", [key]))    # GOOD
>
> What to do if your developer writes code in the *second* style? Don't 
> shout
> at him, don't break his heart: he has only one. Break him a bone: 
> he's got
> 206.

Questa penso non la sparo, verrebbe forzata :-) ovviamente sì, è 
l'altro punto.

> 3) Infine nella slide sul typecasting mi sa che hai lasciato 
> indentato a
> destra le presenter notes (o così pare per via della linea a sinistra 
> e del
> colore grigio del font).

Ci guardo, ma le note le sto ignorando. Molte saranno finite anche al 
posto sbagliato, manipolando le slide. Quelle sono il primo stream of 
conciousness che stavo buttando giù (alla seconda pinta in un pub, tra 
l'altro). Poi le ho trasformate in slide, perché speravo di trasformarle 
in handour. Ma lo script non lo fa, e a questo giro non avevo tempo di 
fixarlo, magari la prossima volta.

Ciao, grazie!


-- 
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com


Maggiori informazioni sulla lista Python