关于postgresql:postgres:在数据库中创建表

postgres: create table in database

我试图在postgres中创建一个表,但它最终在错误的数据库中。

这是我的工作:在我的sql脚本中,我最初创建了一个用户和一个数据库,然后是一个表。 代码将解释更多:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DROP DATABASE IF EXISTS sinfonifry;
DROP ROLE IF EXISTS sinfonifry;

-- create the requested sinfonifry user

CREATE USER sinfonifry createdb createuser password 'some_password';

-- create a sinfonifry database
CREATE DATABASE sinfonifry owner sinfonifry;

DROP TABLE IF EXISTS sinf01_host;

CREATE TABLE sinf01_host
(
  host_id bigserial NOT NULL, -- The primary key
  host_ip inet NOT NULL, -- The IP of the host
  host_name CHARACTER VARYING(255) NOT NULL, -- The name of the host
  CONSTRAINT"PK_host" PRIMARY KEY (host_id )
)
WITH (
  OIDS=FALSE
);

ALTER TABLE sinf01_host OWNER TO sinfonifry;

现在,这是自动脚本的一部分,并从命令行执行,如:

1
sudo -u postgres psql < create_db.sql

我已经在系统上创建了postgres用户。

这就出现了问题:表格最终出现在postgres数据库,公共模式中,而不是在sinfonifry数据库中,公共模式。

如何在我想要的数据库中创建表?

谢谢,欢呼,f。


在create database命令发出连接后:

1
2
CREATE DATABASE sinfonifry owner sinfonifry;
\CONNECT sinfonifry