Postgresql 如何使用psql命令列出、创建、使用和检查数据库?

Postgresql 如何使用psql命令列出、创建、使用和检查数据库?,postgresql,psql,Postgresql,Psql,我是一名postgreSQL新手,我找不到任何关于使用psql命令的有用介绍。至少我认为这是我想要使用的命令 在postgreSQL中,是否可以简单地连接到服务器,然后列出、创建、使用和检查数据库 我希望能够使用psql对MySQL执行类似的操作(我删除了许多额外的行): 在不指定数据库的情况下进行连接-我似乎无法使用psql进行连接: $ mysql -u root -prootpassword Welcome to the MySQL monitor. Commands end with

我是一名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)
我使用\退出

mysql> quit
Bye
对于了解postgreSQL的人来说,这些问题的答案应该只需要一点时间,但我在任何地方都找不到说明如何执行这些简单操作的文档。也许我根本不应该为此使用psql?

连接到服务器:

$ mysql -u root -prootpassword

$ su - postgres
$ psql
列出数据库:

mysql> show databases;

postgres=# \l
mysql> use ocdp;

postgres=# \c ocdp
交换机数据库:

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> create database foo;

postgres=# create database foo;
mysql> drop database foo;

postgres=# drop database foo;
退出:

在不指定数据库的情况下进行连接-我似乎无法使用psql进行连接: 引述

默认用户名是Unix用户名,默认数据库名称也是


我可以切换数据库 引述

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


展示桌子 引述

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


创建数据库foo
这与PostgreSQL中的语句相同,即


退出 引述

\q或\退出退出psql程序


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


psql——列出带有终端的Postgresql

进入postgresql

   sudo -u postgres psql
按查找postgresql中的数据库列表

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

   $ \c databasename
按查看数据库中的模型

   $ \dt
现在,将显示数据库中存在的表列表,并对这些表执行如下操作

   $ select * from table;

启动psql时,绝对不需要使用
su
。您可以很容易地指定要用于连接psql的用户作为参数。@a\u horse\u和\u no\u name:这是真的。但有时(通常?)有一个“postgres”用户,该用户具有特殊的环境设置(路径、区域设置),使得调用psql更容易。@horse\u没有名称:在第一次使用时,如果您不支持postgres,您就什么都做不了。因为当您刚刚安装postgres时,除了postgres之外没有其他用户帐户可供连接,而且由于
pg_hba.conf
,您无法通过随机用户帐户执行
psql-U postgres
su-postgres
sudo-su-postgres
对于初学者来说是一个很好的建议,同时也是机器管理员的建议。我试着检查两组答案,但我想这在我们的超个人主义社会是不允许的。我试着检查两组答案,但我想这在我们的超个人主义社会是不允许的。这对我帮助很大。我将把这些步骤运行几次,看看我是否能将其内在化,并弄清楚一些关于用户的概念(我知道我现在应该说‘角色’)。非常感谢!