Postgresql 如何使用psql命令列出、创建、使用和检查数据库?
我是一名postgreSQL新手,我找不到任何关于使用psql命令的有用介绍。至少我认为这是我想要使用的命令 在postgreSQL中,是否可以简单地连接到服务器,然后列出、创建、使用和检查数据库 我希望能够使用psql对MySQL执行类似的操作(我删除了许多额外的行): 在不指定数据库的情况下进行连接-我似乎无法使用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
$ 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
对于初学者来说是一个很好的建议,同时也是机器管理员的建议。我试着检查两组答案,但我想这在我们的超个人主义社会是不允许的。我试着检查两组答案,但我想这在我们的超个人主义社会是不允许的。这对我帮助很大。我将把这些步骤运行几次,看看我是否能将其内在化,并弄清楚一些关于用户的概念(我知道我现在应该说‘角色’)。非常感谢!