TinyURL

Enter a long URL to make tiny:

venerdì 10 luglio 2009

PostgreSQL – Change default schema

Naturalmente anche in postgres è possibile creare un DB con più schema associati allo stesso utente o ad utenti diversi. Come fare poi a prendere lo schema giusto?
Si può provare a specificare lo schema nella connessione JDBC, ma non funziona, od almeno a me non ha quasi mai funzionato.
Si possono utilizzare i comnadi sql:
show search_path;
per visualizzare i search path corrente, e:
set 'search_path=schema1';
per settare quello nuovo, ma funziona solo temporaneamente, se riavviate il DB la modifica sparisce. Comunque se i permessi non sono settati bene anche se il search_path viene modificato potreste comunque finire a lavorare sullo schema public che è quello di default.
Allora, come accade spesso, la via più semplice è anche la migliore. Non dovrete fare altro che decommentare ,nel file postgresql.conf, la riga seguente:
#search_path = '"$user",public'
e modificarla come più vi è comodo.
Ad esempio, riprendendo il discorso del post precedente, se avete un DB alfresco e volete usare lo schema alfresco, invece di public dovrete scrivere:
search_path = 'alfresco,alfresco'
Dove il primo è il nome utente ed il secondo lo schema.
Naturalmente potete aggiungere più valori al search_path.
Larry

Nessun commento:

Posta un commento