<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Deec.it &#187; PostgreSQL</title>
	<atom:link href="http://www.deec.it/category/postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.deec.it</link>
	<description>Le Guide Pratiche Dell&#039;Informatica</description>
	<lastBuildDate>Sun, 04 Sep 2011 16:52:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installare PostgreSQL su Debian</title>
		<link>http://www.deec.it/2009/12/07/installare-postgresql-su-debian/</link>
		<comments>http://www.deec.it/2009/12/07/installare-postgresql-su-debian/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:31:31 +0000</pubDate>
		<dc:creator>loade</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Debian lenny]]></category>
		<category><![CDATA[Ingres]]></category>
		<category><![CDATA[ORDBMS]]></category>
		<category><![CDATA[pg_ident.conf]]></category>
		<category><![CDATA[pg_shadow]]></category>
		<category><![CDATA[Postgres]]></category>

		<guid isPermaLink="false">http://www.deec.it/?p=2145</guid>
		<description><![CDATA[



In questa guida affronteremo la procedura per l&#8217;installazione del ORDBMS (Object-Relational Database Management System) PostgreSQL, sviluppato in varie fasi fin dal 1977. Il progetto iniziale si chiamava Ingres e venne sviluppato a Berkeley, presso l&#8217;Università della California.Nel 1986 continuò lo sviluppo del codice di Ingres, sempre a Berkeley, per realizzare un sistema di database relazionale [...]]]></description>
			<content:encoded><![CDATA[<!-- AdSense Now! V1.77 -->
<!-- Post[count: 3] -->
<div class="adsense adsense-leadin" style="text-align:center;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-5841373120371067";
/* 468x60, creato 22/09/09 M&amp;P */
google_ad_slot = "8731175604";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>In questa guida affronteremo la procedura per l&#8217;installazione del ORDBMS (Object-Relational Database Management System) PostgreSQL, sviluppato in varie fasi fin dal 1977. Il progetto iniziale si chiamava Ingres e venne sviluppato a Berkeley, presso l&#8217;Università della California.Nel 1986 continuò lo sviluppo del codice di Ingres, sempre a Berkeley, per realizzare un sistema di database relazionale ad oggetti chiamato Postgres. Nel 1996, il nome di Postgres venne cambiato in PostgreSQL, in virtù degli accrescimenti funzionali attuati.</p>
<p>Utilizzeremo la modalità d&#8217;installazione con i pacchetti debian.</p>
<p>Nello specifico dobbiamo utilizzare il seguente comando.</p>
<blockquote><p>apt-get install postgresql-8.3</p></blockquote>
<p>Il sistema vi installerà altri pacchetti aggiuntivi:</p>
<blockquote><p>
postgresql-client-8.3 postgresql-client-common postgresql-common</p></blockquote>
<p>A questo punto se utilizziamo il client psql di postgresql per connetterci al DB, questo è il messaggio d&#8217;errore ricevuto:</p>
<blockquote><p>psql -l<br />
psql: FATAL:  Ident authentication failed for user &#8220;utente&#8221;</p></blockquote>
<p>Il messaggio ci indica che l&#8217;utente con il quale stiamo tentando di accedere non è abilitato. In fase d&#8217;installazione è stato creato automaticamente l&#8217;utente postgres, con il quale, per il momento, possiamo accedere al server postgresql.</p>
<blockquote><p>sudo su &#8211; postgres</p>
<p>psql -l<br />
Lista dei database<br />
Nome    | Proprietario | Codifica<br />
&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-<br />
postgres  | postgres     | UTF8<br />
template0 | postgres     | UTF8<br />
template1 | postgres     | UTF8<br />
(3 rows)</p></blockquote>
<p>Ora vediamo come configurare l&#8217;accesso ad altri utenti oltre a postgres. La modalità d&#8217;accesso ad un DB PostgreSQL viene stabilita dentro il file :</p>
<blockquote><p>/etc/postgresql/versione/main/pg_hba.conf</p></blockquote>
<p>Analizziamo il contenuto del file pg_hba.conf.</p>
<blockquote><p># Database administrative login by UNIX sockets<br />
local   all         postgres                          ident sameuser</p>
<p># TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD</p>
<p># &#8220;local&#8221; is for Unix domain socket connections only<br />
local   all         all                               ident sameuser<br />
# IPv4 local connections:<br />
host    all         all         127.0.0.1/32          md5<br />
# IPv6 local connections:<br />
host    all         all         ::1/128               md5</p></blockquote>
<p>La prima riga identifica l&#8217;amministratore del DB, nel caso specifico postgres, mentre le altre righe sono di facile comprensione. Quello che va detto è riferito alla colonna METHOD, ovvero il metodo d&#8217;autenticazione del client, che differisce dai permessi sul DB.</p>
<p>Analizziamo i metodi d&#8217;autenticazione:</p>
<ul>
<li><strong>trust</strong>: Permette a qualsiasi utente proveniente dall&#8217;host, indicato in CIDR-ADDRESS, di connettersi senza usare una password.</li>
<li><strong>reject</strong>: Nega automaticamente l&#8217;accesso per quell&#8217;host o quell&#8217;utente.</li>
<li><strong>password</strong>: Indica che deve esistere una password per ogni utente abilitato ad accedere dentro la tabella di sistema <strong>pg_shadow</strong>, la password viene inviata in chiaro.</li>
<li><strong>crypt</strong>: Simile al metodo password, solo che la password viene inviata criptata.</li>
<li><strong>krb5</strong>: Autenticazione mediante il sistema Kerberos.</li>
<li><strong>ident</strong>: Dovrebbe essere creata dentro il file <strong>pg_ident.conf</strong> una mappa con utente e password che hanno l&#8217;accesso. Con l&#8217;opzione <strong>sameuser </strong>indica che il client si può connettere solo al database che ha come nome lo stesso nome dell&#8217;utente. Deve essere, prima, creato un db e un utente con il superuser postgres.</li>
</ul>
<p>Quindi nel nostro caso utilizzeremo il seguente schema:</p>
<blockquote><p># TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD<br />
local   all         all                                 password</p></blockquote>
<p>A questo punto possiamo accedere con il nuovo utente creato.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deec.it/2009/12/07/installare-postgresql-su-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

