如何在顶级登录postgreSQL?
我在mac os上安装了Postgres 9.6。当我输入命令时:如何在顶级登录postgreSQL?,postgresql,psql,Postgresql,Psql,我在mac os上安装了Postgres 9.6。当我输入命令时: $psql(我需要到下面的提示) 酒吧=# bar=#\conninfo 您通过端口“5432”处“/tmp”中的套接字以用户“bar”的身份连接到数据库“bar”。 我如何离开数据库栏并处于顶层,以便在输入命令时: CREATE DATABASE postgis_in_action; CREATE SCHEMA ch07; CREATE TABLE ch07.bag_o_rasters(rid serial primary
$psql(我需要到下面的提示)
酒吧=#
bar=#\conninfo
您通过端口“5432”处“/tmp”中的套接字以用户“bar”的身份连接到数据库“bar”。
我如何离开数据库栏并处于顶层,以便在输入命令时:
CREATE DATABASE postgis_in_action;
CREATE SCHEMA ch07;
CREATE TABLE ch07.bag_o_rasters(rid serial primary key, rast_name text, rast raster);
将创建数据库postgis\u in\u action,并在此数据库中创建ch07模式,而不是嵌套在数据库“bar”中,并且将在postgis\u in\u action数据库下的ch07模式中创建表?也许您有使用其他数据库的经验,但这是Postgres。模式嵌套在数据库中,您无法连接到模式(在Postgres中)。如果要创建数据库,则使用
createdatabasech07
代替createschemach06
Instance (Postgres Cluster)
|
v
-------------------- ...
| |
v v
Database1 Database2
|
----------------------- ...
| | |
v v v
public schema1 schema2
|
----------------------- ...
| | |
v v v
table1 table2 table3
在本例中,Postgres与MS SQL相似,与Oracle非常不同。Postgres和Oracle中的模式是不同的
连接到Postgres时,必须指定目标数据库。不能仅连接到服务器,也不能连接到架构。模式(在Postgres中)类似于目录。您可以指定模式的搜索顺序。您可以为每个连接、每个用户或在会话中设置
SEARCH\u PATH
(这类似于MS Win或UNIX中的PATH
)也许您有使用其他数据库的经验,但这是Postgres。模式嵌套在数据库中,您无法连接到模式(在Postgres中)。如果要创建数据库,则使用createdatabasech07
代替createschemach06
Instance (Postgres Cluster)
|
v
-------------------- ...
| |
v v
Database1 Database2
|
----------------------- ...
| | |
v v v
public schema1 schema2
|
----------------------- ...
| | |
v v v
table1 table2 table3
在本例中,Postgres与MS SQL相似,与Oracle非常不同。Postgres和Oracle中的模式是不同的
连接到Postgres时,必须指定目标数据库。不能仅连接到服务器,也不能连接到架构。模式(在Postgres中)类似于目录。您可以指定模式的搜索顺序。您可以为每个连接、每个用户或在会话中设置
SEARCH\u PATH
(类似于MS Win或UNIX中的PATH
。创建新数据库后,您需要切换到它。否则,create schema
将在您最初连接的数据库中运行。在psql
中,您可以使用\connect
bar=#创建数据库postgis_动作;
bar=#\connect postgis_in_action
您现在以用户“postgres”的身份连接到数据库“postgis\u in\u action”。
创建模式ch07;
创建表格ch07.bag_o_光栅(rid串行主键、光栅名称文本、光栅);
我强烈建议您创建一个常规用户来完成您的工作。不要以超级用户的身份做任何事。例如:
bar=# create user ace password '*******';
bar=# create CREATE DATABASE postgis_in_action owner ace;
\connect postgis_in_action ace
Password for user ace:
You are now connected to database "postgis_in_action" as user "ace".
postgis_in_action=>
创建新数据库后,需要切换到该数据库。否则,
create schema
将在您最初连接的数据库中运行。在psql
中,您可以使用\connect
bar=#创建数据库postgis_动作;
bar=#\connect postgis_in_action
您现在以用户“postgres”的身份连接到数据库“postgis\u in\u action”。
创建模式ch07;
创建表格ch07.bag_o_光栅(rid串行主键、光栅名称文本、光栅);
我强烈建议您创建一个常规用户来完成您的工作。不要以超级用户的身份做任何事。例如:
bar=# create user ace password '*******';
bar=# create CREATE DATABASE postgis_in_action owner ace;
\connect postgis_in_action ace
Password for user ace:
You are now connected to database "postgis_in_action" as user "ace".
postgis_in_action=>
您想在数据库
bar
中创建模式,还是想创建名为ch07
的数据库模式与数据库不同。psql-h myhost-d mydb-U myuser
这是您可以登录特定数据库的postgresql的方式。请用您的数据库名ch07回复mydb。很抱歉造成混淆。我通过添加行CREATE DATABASE postgis_in_action编辑了这个问题;您想在数据库bar
中创建模式,还是想创建名为ch07
的数据库模式与数据库不同。psql-h myhost-d mydb-U myuser
这是您可以登录特定数据库的postgresql的方式。请用您的数据库名ch07回复mydb。很抱歉造成混淆。我通过添加行CREATE DATABASE postgis_in_action编辑了这个问题;模式在Oracle和PostgreSQL中是相同的。不同之处在于,只能使用CREATE USER
创建模式,并且所有权与名称绑定。模式在Oracle和PostgreSQL中是相同的。不同之处在于,只能使用CREATE USER
创建模式,并且所有权与名称绑定。