Подтвердить что ты не робот

Как использовать команду psql для отображения, создания, использования и изучения баз данных?

Я новичок postgreSQL, и я не могу найти какое-либо полезное введение в команду psql. По крайней мере, я думаю, что команда, которую я хочу использовать.

Возможно ли в postgreSQL просто подключиться к серверу, а затем перечислить, создать, использовать и изучить базы данных?

Я хотел бы использовать psql для выполнения чего-то подобного с MySQL (я удалил много дополнительных строк):

Подключить без указания базы данных - я не могу сделать это с помощью psql:

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

Я могу перечислить базы данных с помощью mysql, но команда posgreSQL SHOW, похоже, не делает этого.

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

Я могу переключать базы данных.

mysql> use ocdp;
Database changed

Я не могу понять эту команду в psql:

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

Я думаю, что могу сделать это в psql с командами "createdb" и "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)

Я использую \quit

mysql> quit
Bye

Ответ на эти вопросы должен принять только момент для тех, кто знает postgreSQL, но я просто не могу найти документацию в любом месте, где показано, как делать эти простые операции. Может быть, я вообще не должен был использовать psql для этого?

4b9b3361

Ответ 1

подключиться к серверу:

$ mysql -u root -prootpassword

$ su - postgres
$ psql

список баз данных:

mysql> show databases;

postgres=# \l

:

mysql> use ocdp;

postgres=# \c ocdp

показать таблицы:

mysql> show tables;

postgres=# \dt

создать базу данных:

mysql> create database foo;

postgres=# create database foo;

удалить базу данных:

mysql> drop database foo;

postgres=# drop database foo;

бросить курить:

mysql> quit

postgres=# \q

Ответ 2

Подключиться без указания базы данных - я не могу сделать это с помощью psql:

Введите из руководства

Имя пользователя по умолчанию - это ваше имя пользователя Unix, равно как имя базы данных по умолчанию


Я могу переключать базы данных

Введите из руководства

\connect [dbname [имя_пользователя] [хост] [порт]] Устанавливает новое подключение к серверу PostgreSQL


показать таблицы

Введите из руководства

\d [S +] [узор]     Для каждого отношения (таблица, представление, индекс, последовательность или внешняя таблица) или составной тип, соответствующий шаблону, показывают все столбцы


создать базу данных foo;

Это тот же оператор в PostgreSQL, который задокументирован в руководстве


выйти

Введите из руководства

\q или \quit Выход из программы psql.

Ответ 3

Попробуйте использовать эту команду, если вы используете Mac-OS-X и для postgres 9.4

psql --list

Ответ 4

Postgresql с терминалом

введите в postgresql

   sudo -u postgres psql

найти список баз данных в postgresql

   $ \l

подключиться к базе данных, выполнив команду

   $ \c databasename

просмотреть модели в базе данных

   $ \dt

Теперь отображается список таблицы, присутствующей в базе данных, и выполняются операции над таблицами типа

   $ select * from table;