Как использовать команду 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 для этого?
Ответы
Ответ 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;