2013-03-06 182 views
22

我想在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

回答

26

create database命令發出一個連接後:在它創建任何對象之前

create database sinfonifry owner sinfonifry; 
\connect sinfonifry 
+0

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