GNU/Linux >> Tutoriels Linux >  >> Linux

15 commandes pratiques d'administration de base de données PostgreSQL


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;

Linux
  1. Comment installer PostgreSQL sur CentOS 7 / RHEL 7

  2. Mes 8 commandes Linux pratiques préférées

  3. Serveur de base de données PostgreSQL

  4. Comment sauvegarder et restaurer une base de données dans PostgreSQL

  5. Emplacement par défaut de la base de données PostgreSQL sous Linux

Comment installer le serveur de base de données PostgreSQL CentOS 8

Comment installer PostgreSQL 14 dans RHEL 8 Linux

Comment installer PostgreSQL sur Debian 10 Buster

Comment créer une base de données PostgreSQL ?

40 Exemple pratique et productif de commandes Linux df

Comment installer la base de données PostgreSQL et pgAdmin sous Linux