[英]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.