Il giorno dom, 08/11/2015 alle 00.19 +0100, Gollum1 ha scritto: [...] > > creare > comunque un utente di sistema legato al progetto, a cui poi assegnerò > i permessi per creare i vari DB, o creare un utente di postgres con > le > stesse caratteristiche, ma slegato da qualsiasi utente reale del > sistema? In questo secondo caso, il dubbio che mi sovviene, i file > che > vengono creati per contenere il DB, a chi sono "intestati" come > user:group?
L'installazione Debian prevede la creazione dei cluster. Con il comando pg_lsclusters hai l'elenco dei cluster. Un cluster è un contenitore di database (ne può ospitare quanti vuoi), hai dei limiti di risorse (ad esempio la quantità massima di memoria RAM da usare), è gestito da un certo utente di sistema e scrive i file con quell'utente, contiene la definizione degli utenti (che possono avere diritti per accedere ai vari database del cluster). Puoi anche avere un cluster con postgresq 9.4 e uno con il software di un'altra versione. Il comando pg_lsclusters risponde alla tua ultima domanda. Vedi anche pg_createcluster pg_dropcluster pg_upgradecluster. Quindi, se vuoi una separazione fisica totale, usa un cluster per ogni utente (e potrai avere file in directory separate e di proprietà di utenti diversi); se invece vuoi avere solo database distinti allora ti basta un solo cluster con vari database (puoi mantenere metodi di autenticazione separata per ogni singolo database). C'è anche la possibilità di usare un solo database (puoi usare strumenti per il dump/restore del singolo database, eccetera) e memorizzare i dati in schemi diversi. In quest'ultimo caso ti basterebbe un solo utente/password per l'applicazione, e poi dovresti accedere alle tabelle nel formato nomeschema.nometabella (puoi anche, una volta effettuata la connessione, indicare qual è lo schema principale nel quale cercare le tabelle, senza dover indicare ogni volta anche lo schema). In ogni caso -- per rispondere alla penultima domanda -- gli utenti del database sono separati da quelli di gestione del cluster. Ciao, Giuseppe

