User Tools

Site Tools


doc:appunti:linux:sa:postgresql

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:linux:sa:postgresql [2009/12/01 22:08] niccolodoc:appunti:linux:sa:postgresql [2012/11/09 09:54] – [Dump degli utenti (ruoli)] niccolo
Line 28: Line 28:
 Crea utente con password:       CREATE USER "username" PASSWORD 'secret'; Crea utente con password:       CREATE USER "username" PASSWORD 'secret';
 Assegnare un DB ad un utente:   UPDATE pg_database SET datdba=104 WHERE datname='dbname'; Assegnare un DB ad un utente:   UPDATE pg_database SET datdba=104 WHERE datname='dbname';
-Creare un DB con tutto:         CREATE DATABASE dbname OWNER dbname ENCODING 'UTF8';+Creare un DB con tutto:         CREATE DATABASE dbname OWNER dbuser ENCODING 'UTF8'; 
 +Con PG 8.4 ci sono più scelte:  CREATE DATABASE dbname OWNER dbuser LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8' 
 +                                TEMPLATE template0 ENCODING 'UTF8';
 Assegna privilegi su tabella:   GRANT ALL ON tablename TO "username"; Assegna privilegi su tabella:   GRANT ALL ON tablename TO "username";
 Cambiare password utente DB:    ALTER USER "username" PASSWORD 'secret'; Cambiare password utente DB:    ALTER USER "username" PASSWORD 'secret';
Line 109: Line 111:
  
 **NOTA:** In caso di upgrade del database con cambio di **major** o **minor** version (le prime due parti del numero di versione) è necessario **fare il dump e il successivo restore** dei dati. Se invece cambia solo il numero di **revision** (il terzo numero), i dati rimangono compatibili e non è necessario fare dump/restore. **NOTA:** In caso di upgrade del database con cambio di **major** o **minor** version (le prime due parti del numero di versione) è necessario **fare il dump e il successivo restore** dei dati. Se invece cambia solo il numero di **revision** (il terzo numero), i dati rimangono compatibili e non è necessario fare dump/restore.
 +
 +==== Dump degli utenti (ruoli) ====
  
 Dump global objects that are common to all databases (pg_dump does not save these objects). This currently includes information about database users and groups, and access permissions that apply to databases as a whole: Dump global objects that are common to all databases (pg_dump does not save these objects). This currently includes information about database users and groups, and access permissions that apply to databases as a whole:
Line 116: Line 120:
 </code> </code>
  
 +This is an example of dump from an 8.4 cluster into a 9.1 cluster:
 +
 +<code>
 +pg_dumpall --cluster 8.4/main --clean --globals-only > globals-8.4.dump
 +psql --cluster 9.1/main < globals-8.4.dump
 +</code>
 ===== Backup e restore selettivo ===== ===== Backup e restore selettivo =====
  
Line 204: Line 214:
 SHOW search_path; SHOW search_path;
 </code> </code>
 +
 +È possibile impostare una **''search_path''** predefinita per un utente:
 +
 +<code sql>
 +ALTER USER test SET search_path TO "$user",public,foo;
 +</code>
 +
 +L'impostazione dell'utente è visibile nella vista ''pg_user'', nel campo ''useconfig''.
  
 Per dare i privilegi di lettura su uno schema e pieni privilegi su un altro: Per dare i privilegi di lettura su uno schema e pieni privilegi su un altro:
Line 223: Line 241:
 <code sql> <code sql>
 SELECT setval('table_column_seq', 1, false); SELECT setval('table_column_seq', 1, false);
 +</code>
 +
 +Anche questo comando imposta il prossimo valore usato da una sequenza:
 +
 +<code sql>
 +ALTER SEQUENCE table_column_seq RESTART WITH 632;
 </code> </code>
  
doc/appunti/linux/sa/postgresql.txt · Last modified: 2017/11/14 17:40 by niccolo