PostgreSQL-7.4.6

Introduzione a PostgreSQL

PostgreSQL è un sistema avanzato di gestione di database relazionale ad oggetti (ORDBMS), derivato dal database management system Berkeley Postgres.

Informazioni sul pacchetto

Installazione di PostgreSQL

Affinché configure rilevi in maniera corretta Docbook SGML DTD (v3.1), potrebbe essere necessario rimuovere le definizioni di catalogo OpenSP dai cataloghi SGML di sistema. A questo scopo utilizzare il seguente comando prima di costruire il pacchetto:

sed -i.orig \
    -e "/CATALOG \/etc\/sgml\/OpenSP-1.5.1.cat/d" \
    /etc/sgml/catalog \
    /etc/sgml/sgml-docbook.cat

Installare PostgreSQL con i seguenti comandi:

patch -Np1 -i ../postgresql-7.4.6-dsssl_fix-1.patch &&
./configure --prefix=/usr --enable-thread-safety &&
make &&
make install &&
chown -R root:root /usr/share/doc/postgresql/html

L'installazione standard fornisce solo i file header necessari allo sviluppo di applicazioni client. Le applicazioni server richiedono l'intero albero di include di PostgreSQL che può essere installato usando il seguente comando:

make install-all-headers
[Nota]

Nota

Se si sta aggiornando un sistema esistente e si sta per installare i nuovi file su quelli vecchi bisognerebbe fare un back-up dei propri dati, fermare l'esecuzione del vecchio e seguire le istruzioni sulla documentazione ufficiale PostgreSQL .

Inizializzare un cluster di database con i seguenti comandi:

mkdir -p /srv/pgsql/data &&
useradd -d /srv/pgsql/data postgres &&
chown postgres /srv/pgsql/data &&
su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data'

Avviare il server del database con il seguente comando:

su - postgres -c '/usr/bin/postmaster -D /srv/pgsql/data > \
    /srv/pgsql/data/logfile 2>&1 &'

Creare un database e verificare l'installazione:

su - postgres -c '/usr/bin/createdb test' &&
echo "create table t1 ( name varchar(20), state_province varchar(20) );" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Billy', 'NewYork');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Evanidus', 'Quebec');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "insert into t1 values ('Jesse', 'Ontario');" \
    | (su - postgres -c '/usr/bin/psql test ') &&
echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test')

Spiegazioni dei comandi

--enable-thread-safety: questo switch rende le librerie client thread-safe, permettendo a thread concorrenti in programmi libpq e ECPG di gestire in modo sicuro i loro handle di connessioni privati.

chown -R root:root /usr/share/doc/postgresql/html: questo comando corregge la proprietà impropria di alcuni file di documentazione.

useradd -d /srv/pgsql/data postgres: crea un utente non privilegiato che eseguirà il server del database.

createdb test, create table t1 , insert into t1 values..., select * from t1: crea un database, gli aggiunge una tabella, inserisce alcune righe nella tabella e ci applica una select per verificare che l'installazione stia funzionando in momdo corretto.

Configurare PostgreSQL

File di configurazione

$PGDATA/pg_ident.con, $PGDATA/pg_hba.conf e $PGDATA/postgresql.conf

La variabile di ambiente PGDATA è usata per distinguere i cluster di database l'uno dall'altro, impostandola al valore della directory che contiene il cluster desirato. I tre file di configurazione esistono in ogni directory indicata da PGDATA/. Dettagli sul formato dei file e le optioni che si possono usare in ciascuno di essi sono reperibili a file:///usr/share/doc/postgresql/html/index.html.

Installare lo script di inizializzazione /etc/rc.d/init.d/postgresql incluso nel pacchetto blfs-bootscripts-6.0.

make install-postgresql

Contenuti

Il pacchetto PostgreSQL contiene clusterdb, createdb, createlang, createuser, dropdb, droplang, dropuser, ecpg, initdb, initlocation, ipcclean, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_encoding, pg_id, pg_resetxlog, pg_restore, pgtclsh, pgtksh, pltcl_delmod, pltcl_listmod, pltcl_loadmod, postgres, postmaster, psql, vacuumdb, libecpg, libpgtcl, libpgtypes, libpq e vari moduli di insiemi di caratteri.

Descrizione

clusterdb

clusterdb è un'utilità per riorganizzare le tabelle in un database PostgreSQL.

createdb

createdb crea un nuovo database PostgreSQL.

createlang

createlang definisce un nuovo linguaggio procedurale PostgreSQL.

createuser

createuser definisce un nuovo account PostgreSQL.

dropdb

dropdb rimuove un database PostgreSQL.

droplang

droplang rimuove un linguaggio procedurale PostgreSQL.

dropuser

dropuser rimuove un account PostgreSQL.

ecpg

ecpg è il preprocessore integrato in SQL.

initdb

initdb crea un nuovo cluster di database.

initlocation

initlocation crea un'area di memorizzazione secondaria.

ipcclean

ipcclean rimuove memoria condivisa e semafori lasciati da un server che è terminato in maniera anomala.

pg_config

pg_config recupera informazioni sulla versione di PostgreSQL.

pg_controldata

pg_controldata restituisce informazioni inizializzate durante initdb, tipo la versione di catalogo e il server.

pg_ctl

pg_ctl controlla la terminazione e l'avvio del server del database.

pg_dump

pg_dump annota dati e metadati del database in script che sono usati per ricreare il database.

pg_dumpall

pg_dumpall chiama ricorsivamente pg_dump per ogni database in un cluster.

pg_resetxlog

pg_resetxlog cancella il log write-ahead e opzionalmente resetta alcuni campi nel file pg_control.

pg_restore

pg_restore crea database dai file di dump creati da pg_dump.

pgtclsh

pgtclsh è un'interfaccia shell Tcl estesa con funzionalità di accesso al database PostgreSQL.

pgtksh

pgtksh è un'interfaccia shell Tcl/Tk estesa con funzionalità di accesso al database PostgreSQL.

postgres

postgres è un server di database monoutente, generalmente usato per il debug.

postmaster

postmaster è un demone di databse multi-utente.

psql

psql è una shell di database basata sulla console.

vacuumdb

vacuumdb compatta database e genera statistiche per l'analizzatore di query.

Last updated on