Installare i pacchetti postgresql postgresql-client postgresql-contrib shell di postgress: su postgres psql postgres (in ubuntu: sudo -u postgres psql postgres) #creare super utente (da valutare) postgres= create user root with superuser login; #creare utente postgres= create user sqlgrey with password 'iehQ6Ffshvta93eP'; #creare database postgres= create database sqlgrey owner sqlgrey; eventualmente per settare encoding diverso (default è UTF-8) usare\\ ENCODING = encoding (ad esempio 'ISO8859-1') #creare schema postgres= create schema nomeschema; #abilitare connessioni in entrata editare /etc/postgresql/8.3/main/postgresql.conf listen_addresses = '*' password_encryption = on #editare /etc/postgresql/8.3/main/pg_hba.conf (client authentication) # TYPE DATABASE USER CIDR-ADDRESS METHOD local database user auth-method [auth-option] host database user CIDR-address auth-method [auth-option] hostssl database user CIDR-address auth-method [auth-option] hostnossl database user CIDR-address auth-method [auth-option] host database user IP-address IP-mask auth-method [auth-option] hostssl database user IP-address IP-mask auth-method [auth-option] hostnossl database user IP-address IP-mask auth-method [auth-option] #auth-method trust accetta connessioni senza pwd reject non accetta connessioni md5 MD5-encrypted password for authentication password pwd scambiata in chiaro krb5 usa kerberos 5 per autenticare il client ident ottiene il nome utente del sistema operativo dal client e controla se è abilitato alla connessione ldap autentica usando server LDAP pam Pluggable Authentication Modules
PROBLEMONE SU ENCODING / LOCALE#
Attenzione alla creazione del database con ENCODING ISO-8859-1 per caratteri strani:il problema nasce dal fatto che postgres 8.3 non mi fa cambiare il locale del server se non creando un nuovo cluster con il comando:
cd /usr/lib/postgresql/8.3/bin/ ./initdb --locale=it_IT.ISO-8859-1 -E=LATIN1 -D /var/lib/postgresql/main2a questo punto prendo i file sotto main2 e li sposto nella directory di main (/var/lib/postgresql/8.3/main) ATTENZIONE: ho modificato il file /etc/postgres.conf dove metto la data directory puntare a /var/lib/postgresql/8.3/main !!!
Riassunto: 1- creo nuovo cluster con il locale e l'encoding che voglio 2- faccio partire il demone di postgres utilizzando i file creati al punto 1
Comandi base#
settare uno schema(TUOSCHEMA):SET search_path TO TUOSCHEMA,public;Connettere a DB:
psql -U nomeutente nomedbFare dump di intero sistema:
pg_dumpall > allDb.sql
Comandi per backup db#
Dump del db con pg_dumppg_dump -c --table db2prod.rub -U dbuser -Fc dbname > dbname.dumpL'opzione -c indica a pg_dump di creare anche le istruzioni per il drop delle tabelle.
L'opzione --table serve per indicare di quale tabella fare il backup senza viene fatto il backup dell'intero DB.
L'opzione -F serve per il formato output del file (c custom, p plain, t tar).
L'opzione -U serve a specificare l'utente con il quale ci si collega al DB.
Restore del db con pg_restore
pg_restore -c -v -U dbuser -Fc -d dbname dbname.dumpL'opzione -c indica a pg_restore di eliminare le tabelle.
L'opzione -v è per il verbose.
L'opzione -F serve per il formato input del file (c custom, p plain, t tar).
L'opzione -d serve per specificare il dbname.
Import di dati #
copy db2prod.deslun from '/var/lib/postgresql/deslun.txt' using delimiters ',' CSV;
Gestione utenti#
loggandosi come utente pgsql postgres faccio alter user:alter user
Add new attachment
Only authorized users are allowed to upload new attachments.
«
This particular version was published on 14-Apr-2010 14:30 by Raschetti.