Plus tôt, nous avons discuté de la façon d'installer la base de données PostgreSQL sur Linux à partir de la source.
Dans cet article, passons en revue les 15 principaux exemples pratiques de commandes postgreSQL DBA .
Si vous êtes un administrateur mySQL, consultez nos 15 exemples d'article sur la commande mysqladmin dont nous avons parlé il y a quelque temps.
1. Comment changer le mot de passe de l'utilisateur root 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)
Changer le mot de passe d'un utilisateur postgres normal est similaire à changer le mot de passe de l'utilisateur root. L'utilisateur racine peut changer le mot de passe de n'importe quel utilisateur, et les utilisateurs normaux ne peuvent changer leurs mots de passe que comme le fait Unix.
# ALTER USER username WITH PASSWORD 'tmppassword';
2. Comment configurer le script de démarrage PostgreSQL SysV ?
$ 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. Comment vérifier si le serveur PostgreSQL est opérationnel ?
$ /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. Comment démarrer, arrêter et redémarrer la base de données PostgreSQL ?
# service postgresql stop Stopping PostgreSQL: server stopped ok # service postgresql start Starting PostgreSQL: ok # service postgresql restart Restarting PostgreSQL: server stopped ok
5. Comment savoir quelle version de PostgreSQL j'utilise ?
$ /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. Comment créer un utilisateur PostgreSQL ?
Il existe deux méthodes pour créer un utilisateur.
Méthode 1 : Création de l'utilisateur dans l'invite PSQL, avec la commande CREATE USER.
# CREATE USER ramesh WITH password 'tmppassword'; CREATE ROLE
Méthode 2 : Création de l'utilisateur dans l'invite du shell, avec la commande 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. Comment créer une base de données PostgreSQL ?
Il existe deux méthodes dans lesquelles vous pouvez créer deux bases de données.
Méthode 1 : Création de la base de données dans l'invite PSQL, avec la commande createuser.
# CREATE DATABASE mydb WITH OWNER ramesh; CREATE DATABASE
Méthode 2 : Création de la base de données dans l'invite du shell, avec la commande createdb.
$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREATE DATABASE
* -O nom du propriétaire est l'option de la ligne de commande.
7. Comment obtenir une liste de bases de données dans une base de données 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. Comment supprimer/supprimer une base de données PostgreSQL existante ?
# \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. Obtenir de l'aide sur les commandes postgreSQL
\ ? affichera l'aide de l'invite de commande PSQL. \h CREATE affichera de l'aide sur toutes les commandes qui commencent par CREATE, lorsque vous voulez quelque chose de spécifique comme de l'aide pour créer un index, alors vous devez donner CREATE INDEX.
# \? # \h CREATE # \h CREATE INDEX
10. Comment obtenir une liste de toutes les tables d'une base de données Postgresql ?
# \d
Sur une base de données vide, vous obtiendrez "Aucune relation trouvée". message pour la commande ci-dessus.
11. Comment activer le chronométrage et vérifier le temps d'exécution d'une requête ?
# \timing — Après cela, si vous exécutez une requête, il montrera combien de temps cela a pris pour le faire.
# \timing Timing is on. # SELECT * from pg_catalog.pg_attribute ; Time: 9.583 ms
12. Comment sauvegarder et restaurer la base de données et la table PostgreSQL ?
Nous avons expliqué précédemment comment sauvegarder et restaurer la base de données et les tables postgres à l'aide de pg_dump et de l'utilitaire psql.
13. Comment voir la liste des fonctions disponibles dans PostgreSQL ?
Pour en savoir plus sur les fonctions, dites \df+
# \df # \df+
14. Comment éditer les requêtes PostgreSQL dans votre éditeur préféré ?
# \e
\e ouvrira l'éditeur, où vous pourrez modifier les requêtes et l'enregistrer. Ce faisant, la requête sera exécutée.
15. Où puis-je trouver le fichier d'historique de postgreSQL ?
Semblable au fichier Linux ~/.bash_history, postgreSQL stocke toutes les commandes sql qui ont été exécutées dans un fichier d'historique appelé ~/.psql_history comme indiqué ci-dessous.
$ 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;