24

我是 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)

我想我可以用'createdb'和'dropdb'命令在psql中做到这一点:

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 ?

4

4 回答 4

50

连接到服务器:

$ 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
于 2013-02-05T19:34:54.650 回答
3

如果您使用的是 Mac-OS-X 和 postgres 9.4,请尝试使用此命令

psql --list

于 2015-12-18T06:22:53.130 回答
2

在不指定数据库的情况下进行连接 - 我似乎无法用 psql 做到这一点:

从手册中引用

默认用户名是您的 Unix 用户名,默认数据库名也是如此


我可以切换数据库

从手册中引用

\connect [ dbname [ username ] [ host ] [ port ] ] 建立到 PostgreSQL 服务器的新连接


显示表格

从手册中引用

\d[S+] [ pattern ] 对于每个关系(表、视图、索引、序列或外部表)或匹配模式的复合类型,显示所有列


创建数据库 foo;

这是 PostgreSQL 中的相同语句,在手册中有记录


辞职

从手册中引用

\q 或 \quit 退出 psql 程序。

于 2013-02-05T19:47:03.500 回答
2

带有终端的 Postgresql

进入postgresql

   sudo -u postgres psql

在 postgresql 中查找数据库列表

   $ \l

通过以下命令连接到数据库

   $ \c databasename

查看数据库中的模型

   $ \dt

现在显示数据库中存在的表列表并对表执行操作,例如

   $ select * from table;
于 2016-11-22T04:44:43.600 回答