doc:appunti:linux:sa:postgresql
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
doc:appunti:linux:sa:postgresql [2009/02/19 23:53] – external edit 127.0.0.1 | doc:appunti:linux:sa:postgresql [2011/02/20 09:07] – [Lavorare con le sequenze] niccolo | ||
---|---|---|---|
Line 28: | Line 28: | ||
Crea utente con password: | Crea utente con password: | ||
Assegnare un DB ad un utente: | Assegnare un DB ad un utente: | ||
- | Creare un DB con tutto: | + | Creare un DB con tutto: |
+ | Con PG 8.4 ci sono più scelte: | ||
+ | TEMPLATE template0 | ||
Assegna privilegi su tabella: | Assegna privilegi su tabella: | ||
Cambiare password utente DB: ALTER USER " | Cambiare password utente DB: ALTER USER " | ||
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/ | **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/ | ||
+ | |||
+ | ==== 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 204: | Line 208: | ||
SHOW search_path; | SHOW search_path; | ||
</ | </ | ||
+ | |||
+ | È possibile impostare una **'' | ||
+ | |||
+ | <code sql> | ||
+ | ALTER USER test SET search_path TO " | ||
+ | </ | ||
+ | |||
+ | L' | ||
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: | ||
<code sql> | <code sql> | ||
- | GRANT USAGE ON SCHEMA datirt10k TO corso; | + | GRANT USAGE ON SCHEMA datirt10k TO user; |
- | GRANT SELECT ON datirt10k.ac TO corso; | + | GRANT SELECT ON datirt10k.ac TO user; |
- | CREATE SCHEMA corso AUTHORIZATION | + | CREATE SCHEMA corso AUTHORIZATION |
- | GRANT ALL PRIVILEGES ON SCHEMA corso TO corso; | + | GRANT ALL PRIVILEGES ON SCHEMA corso TO user; |
</ | </ | ||
+ | La parola chiave '' | ||
====== Lavorare con le sequenze ====== | ====== Lavorare con le sequenze ====== | ||
Line 222: | Line 235: | ||
<code sql> | <code sql> | ||
SELECT setval(' | SELECT setval(' | ||
+ | </ | ||
+ | |||
+ | Anche questo comando imposta il prossimo valore usato da una sequenza: | ||
+ | |||
+ | <code sql> | ||
+ | ALTER SEQUENCE table_column_seq RESTART WITH 632; | ||
</ | </ | ||
Line 227: | Line 246: | ||
<code sql> | <code sql> | ||
- | ALTER TABLE table ALTER COLUMN | + | ALTER TABLE tablename |
</ | </ | ||
Line 233: | Line 252: | ||
<code sql> | <code sql> | ||
- | SELECT * FROM table_column_seq; | + | SELECT * FROM tablename_columnname_seq; |
+ | </ | ||
+ | |||
+ | Per **convertire un campo INT in SERIAL**, prima bisogna scoprire il valore massimo utilizzato nel campo, quindi si crea una sequenza che parte da quel valore + 1: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT MAX(columnname) FROM tablename; | ||
+ | CREATE SEQUENCE tablename_columnname_seq START WITH < | ||
+ | ALTER TABLE tablename ALTER COLUMN columnname SET DEFAULT nextval(' | ||
</ | </ | ||
Line 249: | Line 276: | ||
createlang --list dbname | createlang --list dbname | ||
</ | </ | ||
+ | |||
+ | ====== Elenco delle funzioni C ====== | ||
+ | |||
+ | FIXME | ||
+ | Con il comando **'' | ||
+ | in **C** e quelle in **plpgsql** (verificare!). Questo un sistema per vederle: | ||
+ | |||
+ | <code sql> | ||
+ | SELECT proname | ||
+ | FROM pg_proc proc JOIN pg_language lang | ||
+ | ON proc.prolang = lang.oid | ||
+ | WHERE lang.lanname = ' | ||
+ | </ | ||
+ |
doc/appunti/linux/sa/postgresql.txt · Last modified: 2017/11/14 17:40 by niccolo