postgres:在数据库中创建表格

问题描述:

我想在postgres中创建一个表格,但它最终出现在错误的数据库中。postgres:在数据库中创建表格

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

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; 

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

sudo -u postgres psql < create_db.sql 

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

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

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

谢谢,欢呼声,f。

+0

连接到新创建的数据库。 – wildplasser 2013-03-06 15:18:48

create database命令发出一个连接后:在它创建任何对象之前

create database sinfonifry owner sinfonifry; 
\connect sinfonifry 
+0

优秀,工作:) – fritzone 2013-03-07 07:06:47