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 |