Re: Non riesco ad usere postgresql
Mandi! Gollum1 In chel di` si favelave... > si accettano suggerimenti. Se è debian (ma credo che anche altre distro facciano uguale...) il file di configurazione dell'autenticazione del cluster (pg_hba.conf) prevede normalmente accesso ''seamless'' (senza password) solo in locale e usando la login in questione. Quindi è normale che 'postgres' sia accessibile solo dall'utente unix postgres, e normalmente non ha una password impostata. Credo sia anche abilitato di default l'accesso in md5 (eg, password impostate internamente) da ''localhost''. -- But somebody's gonnahave to answer, the time is coming soon when the blind remove their blinders and the speechless speak the truth(T. Chapman)
Re: Non riesco ad usere postgresql
Il 8 novembre 2015 10:49, Alessandro Pellizzariha scritto: > Una volta che sei "dentro" postgres è come se fosse un S.O. a sè stante, > con i suoi permessi, i suoi utenti, ecc. Grazie Alessandro, e grazie anche a Giuseppe. farò tesoro delle informazioni che mi avete passato... molto probabilmente, seguirò i consigli che mi hai passato, Alessandro... ma mi studierò anche il link passato da GIuseppe. Byez -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Re: Non riesco ad usere postgresql
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
Re: Non riesco ad usere postgresql
Il Sun, 08 Nov 2015 00:19:05 +0100, Gollum1 ha scritto: > Non volendo andare a scomodare ldap e compagnia bella, non ne ho > bisogno, almeno in questo contesto in cui sto facendo un po' di > sperimentazione sul mio pc, come pensi che sia meglio muoversi? 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? Io ti consiglio di creare utenti solo postgres (non di sistema), attivando la connessione tramite password (md5) in pg_hba.conf per tutti gli utenti di rete (quindi non local). A ogni utente puoi dare il permesso createdb se vuoi che possa crearsi nuovi DB da solo, o non darglielo se vuoi controllare tu cosa può creare. Tutti i database creati da quell'utente saranno automaticamente suoi, e potrà eventualmente (se glielo permetti) dare permessi ad altri utenti. Non preoccuparti dei permessi sul filesystem. Se ne occupa postgres, che gira come utente postgres, ed ha accesso a tutti i database di tutti gli utenti. In pratica l'utente "postgres" è il corrispondente di "root" dentro postgres. Una volta che sei "dentro" postgres è come se fosse un S.O. a sè stante, con i suoi permessi, i suoi utenti, ecc. Bye.
Re: Non riesco ad usere postgresql
Il 8 novembre 2015 00:08, Giuseppe Saccoha scritto: grazie giuseppe dell'attenzione. > Per maggiori informazioni sulle modalità di autenticazione: > http://www.postgresql.org/docs/current/static/auth-methods.html gli scenari in cui mi devo muovere sono sostanzialmente due: 1) in fase di sviluppo uso il mio portatile, sia per farci girare il server web, che il server postgres, potrei anche abilitare il modo di accesso trust e se non ho capito male, limitarlo alle sole connessione che arrivano da localhost. 2) quando il progetto sarà spostato sulla macchina di produzione, che (purtroppo) sarà una macchina RH6, in cui comunque postgres e apache sono installati nella stessa macchina, posso creare l'utente nel sistema che farà girare le pagine web (mettendolo nel gruppo www-data) e contemporaneamente sarà il padrone dei DB che creerò attraverso l'applicativo web. in questo secondo caso l'accesso login/password dovrebbe andare bene... ti sembra una soluzione percorribile? la gestione con ldap, potrebbe solleticarmi l'idea per un altro progetto, in cui però a questo punto vorrebbe dire che ogni utente che accede all'applicativo web, praticamente si crea il suo DB personale nel sistema (che potrebbe anche essere coerente con il tipo di progetto, che non devono essere dati condivisi, ma personali). Byez -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Re: Non riesco ad usere postgresql
Il giorno sab, 07/11/2015 alle 23.46 +0100, Gollum1 ha scritto: > Ho installato postgres, server e client, però non riesco ad accedere > al DB di default di postgres, che dovrebbe avere utente e password > sempre uguali a postgres. non mi pare che ci sia una password preimpostata. Difatti l'autenticazione per quell'utente è "peer" e funziona solo tramite pipe. Se ti colleghi via TCP oppure se non usi psql da utente postgres, non va. Puoi però creare altri utenti e database. Ad esempio se il tuo utente linux è gollum1, puoi dare i comandi, da utente postgres, createuser gollum1 createdb --owner gollum1 gollum1 e poi, da utente gollum1, dando il solo comando "psql" si dovrebbe collegare usando il tuo utente al tuo database. Il manuale di createuser ti mostra come dare diritti speciali all'utente che crei. Ciao, Giuseppe
Re: Non riesco ad usere postgresql
Il giorno dom, 08/11/2015 alle 00.00 +0100, Gollum1 ha scritto: [...] > quindi se io ho un applicativo che gira attraverso un server web, che > sia scritto in php o python, per permettergli di creare e gestire un > suo DB, come presumevo, non può usare l'utenza postgres con password > postgres, ma devo prima creare una utenza dedicata a questo > applicativo (che non deve essere necessariamente una utenza del > sistema, o sbaglio?)... Far utilizzare l'utente postgres agli applicativi sarebbe come dare la password di root a tutti gli utenti di linux. Puoi creare tutti gli utenti che vuoi. Nel caso il nome corrisponda all'utente di sistema operativo puoi fare in modo che non venga chiesta la password al momento della connessione, altrimenti imposti anche una password per l'utente postgres e ti colleghi indicando utente e password. Oppure puoi prendere gli utenti da qualsia altra fonte: io ad esempio configuro spesso postgres perché prenda utenti/password da un LDAP. Per maggiori informazioni sulle modalità di autenticazione: http://www.postgresql.org/docs/current/static/auth-methods.html Ciao, Giuseppe
Re: Non riesco ad usere postgresql
Il 7 novembre 2015 23:53, Giuseppe Saccoha scritto: > Il giorno sab, 07/11/2015 alle 23.46 +0100, Gollum1 ha scritto: >> Ho installato postgres, server e client, però non riesco ad accedere >> al DB di default di postgres, che dovrebbe avere utente e password >> sempre uguali a postgres. > > non mi pare che ci sia una password preimpostata. Difatti > l'autenticazione per quell'utente è "peer" e funziona solo tramite > pipe. Se ti colleghi via TCP oppure se non usi psql da utente postgres, > non va. > > Puoi però creare altri utenti e database. Ad esempio se il tuo utente > linux è gollum1, puoi dare i comandi, da utente postgres, > createuser gollum1 > createdb --owner gollum1 gollum1 > > e poi, da utente gollum1, dando il solo comando "psql" si dovrebbe > collegare usando il tuo utente al tuo database. > > Il manuale di createuser ti mostra come dare diritti speciali > all'utente che crei. > quindi se io ho un applicativo che gira attraverso un server web, che sia scritto in php o python, per permettergli di creare e gestire un suo DB, come presumevo, non può usare l'utenza postgres con password postgres, ma devo prima creare una utenza dedicata a questo applicativo (che non deve essere necessariamente una utenza del sistema, o sbaglio?)... dall'esempio che mi hai scritto, e da alcune cose che ho letto in rete, parrebbe invece che debba essere proprio una utenza del sistema... -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Re: Non riesco ad usere postgresql
Il 8 novembre 2015 00:08, Giuseppe Saccoha scritto: > Far utilizzare l'utente postgres agli applicativi sarebbe come dare la > password di root a tutti gli utenti di linux. Immaginavo... > > Puoi creare tutti gli utenti che vuoi. Nel caso il nome corrisponda > all'utente di sistema operativo puoi fare in modo che non venga chiesta > la password al momento della connessione, altrimenti imposti anche una > password per l'utente postgres e ti colleghi indicando utente e > password. Oppure puoi prendere gli utenti da qualsia altra fonte: io ad > esempio configuro spesso postgres perché prenda utenti/password da un > LDAP. > > Per maggiori informazioni sulle modalità di autenticazione: > http://www.postgresql.org/docs/current/static/auth-methods.html > Non volendo andare a scomodare ldap e compagnia bella, non ne ho bisogno, almeno in questo contesto in cui sto facendo un po' di sperimentazione sul mio pc, come pensi che sia meglio muoversi? 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? -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...