freeze database durante creazione tabella o campo tabella

Lists: pgsql-it-generale
From: "xian88(at)alice(dot)it" <xian88(at)alice(dot)it>
To: pgsql-it-generale(at)postgresql(dot)org
Subject: freeze database durante creazione tabella o campo tabella
Date: 2012-11-17 08:36:27
Message-ID: 13b0d83028e.xian88@alice.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

Salve,
sono dipendente in un'azienda che usa come DBMS postgres.
questo

comporta un discreto numero di connessioni "attive" contemporaneamente (anche
se in IDLE).
Come specificato in oggetto durante una modifica allo schema
come
l'aggiunta di una tabella o di un campo ad una tabella in DB fallisce tutte le
transazioni successive all'operazione di modifica difatto "freezandosi" e
non
eseguendo nessuna operazione, ne query ne operazioni di
modifica.
Difatto non
capendo il reale motivo di questo strano comportamento, si è notato comunque
che dopo il necessario riavvio del servizio postgres a connessioni
zero sul DB
queste operazioni di modifica dello schema non provacano nessun effetto
collaterale.
altre informazioni aggiuntive sono che su determinate tabella
agisce hibernate e le query vengono lanciate da un web server (tomcat) e da
un'applicazione RMI.

Ringrazio anticipatamente dell'aiuto e/o dell'attenzione


From: Alessio Gennari <alessio(dot)gennari78(at)gmail(dot)com>
To: "xian88(at)alice(dot)it" <xian88(at)alice(dot)it>
Cc: pgsql-it-generale(at)postgresql(dot)org
Subject: Re: freeze database durante creazione tabella o campo tabella
Date: 2012-11-17 08:40:56
Message-ID: CAG0sfBVn5fT4+1zxQPzKiXs+Dq88Y9P0wnHHxw2aotCWttATqQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

L'errore è abbastanza strano, ma hai qualche log da poter vedere?

2012/11/17 xian88(at)alice(dot)it <xian88(at)alice(dot)it>

> Salve,
> sono dipendente in un'azienda che usa come DBMS postgres.
> questo
>
>
> comporta un discreto numero di connessioni "attive" contemporaneamente
> (anche
> se in IDLE).
> Come specificato in oggetto durante una modifica allo schema
> come
> l'aggiunta di una tabella o di un campo ad una tabella in DB fallisce
> tutte le
> transazioni successive all'operazione di modifica difatto "freezandosi" e
> non
> eseguendo nessuna operazione, ne query ne operazioni di
> modifica.
> Difatto non
> capendo il reale motivo di questo strano comportamento, si è notato
> comunque
> che dopo il necessario riavvio del servizio postgres a connessioni
> zero sul DB
> queste operazioni di modifica dello schema non provacano nessun effetto
> collaterale.
> altre informazioni aggiuntive sono che su determinate tabella
> agisce hibernate e le query vengono lanciate da un web server (tomcat) e da
> un'applicazione RMI.
>
> Ringrazio anticipatamente dell'aiuto e/o dell'attenzione
>
>
> --
> Sent via pgsql-it-generale mailing list (pgsql-it-generale(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-it-generale
>


From: gabriele(dot)bartolini(at)2ndquadrant(dot)it
To: pgsql-it-generale(at)postgresql(dot)org
Cc: "xian88(at)alice(dot)it" <xian88(at)alice(dot)it>
Subject: Re: freeze database durante creazione tabella o campo tabella
Date: 2012-11-18 10:14:14
Message-ID: 50A8B4F6.1010903@2ndQuadrant.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-it-generale

Ciao,

Il 17/11/12 09:36, xian88(at)alice(dot)it ha scritto:
> comporta un discreto numero di connessioni "attive" contemporaneamente (anche
> se in IDLE).
Suppongo sia un PostgreSQL < 9.2, ma che versione?

> Difatto non
> capendo il reale motivo di questo strano comportamento, si è notato comunque
> che dopo il necessario riavvio del servizio postgres a connessioni
> zero sul DB
> queste operazioni di modifica dello schema non provacano nessun effetto
> collaterale.
Non è proprio strano come comportamento. Tentanto di modificare la
struttura di una tabella, quella transazione tenta di acquisire un lock
esclusivo su tutta la tabella, andando a influenzare le transazioni
attive che hanno fatto (o faranno) uso di quella tabella. Inoltre, anche
l'aggiunta di un campo a una tabella, a seconda della versione di
Postgres, può portare a una riscrittura completa di tutta la tabella.

È ovvio che sto ragionando soltanto in termini generali, non avendo dati
concreti sui quali investigare.

Ad ogni modo le consiglio due cose:

* esaminare, prima di attivare la modalità Windows anche a Postgres
(ovvero reboot), la vista pg_locks
* valutare di partecipare al PGDay di venerdì prossimo, 23 novembre
(www.pgday.it) in quanto ci saranno due talk su monitoraggio e analisi
dei log

A presto,
Gabriele

--
Gabriele Bartolini - 2ndQuadrant Italia
PostgreSQL Training, Services and Support
gabriele(dot)bartolini(at)2ndQuadrant(dot)it | www.2ndQuadrant.it