web-dev-qa-db-fra.com

Comment utiliser la commande psql pour répertorier, créer, utiliser et examiner des bases de données?

Je suis un débutant postgreSQL et je ne trouve aucune introduction utilisable à l'utilisation de la commande psql. Au moins, je pense que c'est la commande que je veux utiliser.

Est-il possible dans postgreSQL de se connecter simplement au serveur puis de lister, créer, utiliser et examiner les bases de données?

J'aimerais pouvoir utiliser psql pour faire quelque chose comme ça avec MySQL (j'ai supprimé de nombreuses lignes supplémentaires):

Connectez-vous sans spécifier de base de données - je n'arrive pas à le faire avec psql:

$ mysql -u root -prootpassword
Welcome to the MySQL monitor.  Commands end with ; or \g.
Server version: 5.5.28 MySQL Community Server (GPL)

Je peux lister des bases de données avec mysql mais la commande posgreSQL SHOW ne semble pas le faire.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ocdp               |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.04 sec)

Je peux changer de base de données.

mysql> use ocdp;
Database changed

Je ne peux pas comprendre cette commande dans psql:

mysql> show tables;
+---------------------------------+
| Tables_in_ocdp                  |
+---------------------------------+
| OCAddresses                     |
| OCStreets                       |
+---------------------------------+
2 rows in set (0.00 sec)

Je pense que je peux le faire dans psql avec les commandes 'createdb' et 'dropdb':

mysql> create database foo;
Query OK, 1 row affected (0.00 sec)

mysql> drop database foo;
Query OK, 0 rows affected (0.03 sec)

J'utilise\quitter

mysql> quit
Bye

La réponse à ces questions ne devrait prendre qu'un instant pour quelqu'un qui connaît postgreSQL, mais je ne trouve aucune documentation nulle part qui montre comment effectuer ces opérations simples. Peut-être que je ne devrais même pas utiliser psql pour ça?

24
zabouti

connecter au serveur:

$ mysql -u root -prootpassword

$ su - postgres
$ psql

liste des bases de données:

mysql> show databases;

postgres=# \l

changer de base de données:

mysql> use ocdp;

postgres=# \c ocdp

montrer les tableaux:

mysql> show tables;

postgres=# \dt

créer une base de données:

mysql> create database foo;

postgres=# create database foo;

déposer la base de données:

mysql> drop database foo;

postgres=# drop database foo;

quitter:

mysql> quit

postgres=# \q
50
SeanPlusPlus

Essayez d'utiliser cette commande si vous utilisez Mac-OS-X et pour postgres 9.4

psql --list

3
msmukesh4

Connectez-vous sans spécifier de base de données - je n'arrive pas à le faire avec psql:

Citation du manuel

Le nom d'utilisateur par défaut est votre nom d'utilisateur Unix, tout comme le nom de base de données par défaut


Je peux changer de base de données

Citation du manuel

\ connect [dbname [username] [Host] [port]] Etablit une nouvelle connexion avec un serveur PostgreSQL


affiche les tableaux

Citation du manuel

\ d [S +] [motif] Pour chaque relation (table, vue, index, séquence ou table étrangère) ou type composite correspondant au motif, afficher toutes les colonnes


créer une base de données foo;

C'est la même déclaration dans PostgreSQL, qui est documentée dans le manuel


quitter

Citation du manuel

\ q ou\quit Quitte le programme psql.

2

Postgresql avec terminal

entrer dans le postgresql

   Sudo -u postgres psql

trouver la liste des bases de données dans postgresql par

   $ \l

se connecter à la base de données en suivant la commande

   $ \c databasename

afficher les modèles dans la base de données par

   $ \dt

Maintenant, la liste des tables présentes dans la base de données est affichée et effectue des opérations sur les tables comme

   $ select * from table;
1
Dinesh Pallapa