簡體   English   中英

postgres:從命令行在數據庫中創建表

[英]postgres: create table in database from the command line

我試圖在 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。

在 create database 命令發出連接后:

create database sinfonifry owner sinfonifry;
\connect sinfonifry

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM