In precedenza abbiamo discusso su come installare il database PostgreSQL su Linux dal sorgente.
In questo articolo, esaminiamo i primi 15 pratici esempi di comandi DBA postgreSQL .
Se sei un amministratore di MySQL, dai un'occhiata ai nostri 15 esempi di articolo sui comandi mysqladmin di cui abbiamo discusso qualche tempo fa.
1. Come modificare la password dell'utente root di PostgreSQL?
$ /usr/local/pgsql/bin/psql postgres postgres Password: (oldpassword) # ALTER USER postgres WITH PASSWORD 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Password: (tmppassword)
Cambiare la password per un normale utente postgres è simile a cambiare la password dell'utente root. L'utente root può modificare la password di qualsiasi utente e gli utenti normali possono modificare le proprie password solo come metodo Unix.
# ALTER USER username WITH PASSWORD 'tmppassword';
2. Come impostare lo script di avvio SysV di PostgreSQL?
$ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x /etc/rc.d/init.d/postgresql
3. Come verificare se il server PostgreSQL è attivo e funzionante?
$ /etc/init.d/postgresql status Password: pg_ctl: server is running (PID: 6171) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" [Note: The status above indicates the server is up and running] $ /etc/init.d/postgresql status Password: pg_ctl: no server running [Note: The status above indicates the server is down]
4. Come avviare, arrestare e riavviare il database PostgreSQL?
# service postgresql stop Stopping PostgreSQL: server stopped ok # service postgresql start Starting PostgreSQL: ok # service postgresql restart Restarting PostgreSQL: server stopped ok
5. Come faccio a sapere quale versione di PostgreSQL sto utilizzando?
$ /usr/local/pgsql/bin/psql test Welcome to psql 8.3.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit test=# select version(); version ---------------------------------------------------------------------------------------------------- PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 row) test=#
5. Come creare un utente PostgreSQL?
Esistono due metodi per creare un utente.
Metodo 1: Creazione dell'utente nel prompt di PSQL, con il comando CREATE USER.
# CREATE USER ramesh WITH password 'tmppassword'; CREATE ROLE
Metodo 2: Creazione dell'utente nel prompt della shell, con il comando createuser.
$ /usr/local/pgsql/bin/createuser sathiya Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n CREATE ROLE
6. Come creare un database PostgreSQL?
Esistono due metodi in cui puoi creare due database.
Metodo 1: Creazione del database nel prompt di PSQL, con il comando createuser.
# CREATE DATABASE mydb WITH OWNER ramesh; CREATE DATABASE
Metodo 2: Creazione del database nel prompt della shell, con il comando createb.
$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREATE DATABASE
* -O nome proprietario è l'opzione nella riga di comando.
7. Come ottengo un elenco di database in un database Postgresql?
# \l [Note: This is backslash followed by lower-case L] List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8
8. Come eliminare/eliminare un database PostgreSQL esistente?
# \l List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 # DROP DATABASE mydb; DROP DATABASE
9. Ottenere aiuto sui comandi postgreSQL
\? mostrerà la guida del prompt dei comandi di PSQL. \h CREATE mostrerà la guida su tutti i comandi che iniziano con CREATE, quando vuoi qualcosa di specifico come l'aiuto per la creazione dell'indice, devi fornire CREATE INDEX.
# \? # \h CREATE # \h CREATE INDEX
10. Come ottengo un elenco di tutte le tabelle in un database Postgresql?
# \d
In un database vuoto, otterrai "Nessuna relazione trovata". messaggio per il comando precedente.
11. Come attivare i tempi e controllare quanto tempo impiega una query per l'esecuzione?
# \timing — Dopodiché, se esegui una query, mostrerà quanto tempo ci è voluto per eseguirla.
# \timing Timing is on. # SELECT * from pg_catalog.pg_attribute ; Time: 9.583 ms
12. Come eseguire il backup e il ripristino di database e tabelle PostgreSQL?
Abbiamo discusso in precedenza come eseguire il backup e il ripristino del database e delle tabelle postgres utilizzando pg_dump e l'utilità psql.
13. Come vedere l'elenco delle funzioni disponibili in PostgreSQL?
Per saperne di più sulle funzioni, pronuncia \df+
# \df # \df+
14. Come modificare le query PostgreSQL nel tuo editor preferito?
# \e
\e aprirà l'editor, dove potrai modificare le query e salvarle. In questo modo la query verrà eseguita.
15. Dove posso trovare il file della cronologia di PostgreSQL?
Simile al file ~/.bash_history di Linux, postgreSQL memorizza tutto il comando sql che è stato eseguito in una cronologia denominata ~/.psql_history come mostrato di seguito.
$ cat ~/.psql_history alter user postgres with password 'tmppassword'; \h alter user select version(); create user ramesh with password 'tmppassword'; \timing select * from pg_catalog.pg_attribute;