Próbuję utworzyć tabelę w postgresie, ale kończy się to w niewłaściwej bazie danych.postgres: utwórz tabelę w bazie danych
Oto, co robię: w moim skrypcie sql początkowo tworzę użytkownika i bazę danych, a następnie tabelę. Kod wyjaśni więcej:
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;
teraz, to jest część zautomatyzowanego skryptu i jest wykonywany z linii poleceń, takich jak:
sudo -u postgres psql < create_db.sql
i mam już użytkownikowi postgres'owy utworzonego w systemie.
I tu pojawia się problem: tabela kończy się w bazie danych postgres, schemacie publicznym, a nie w bazie danych Sinfonifry, schemacie publicznym.
Jak mogę utworzyć tabelę w bazie danych, którą chcę?
Dzięki, i okrzyki, f.
połączyć się z świeżo utworzonej bazy danych przed utworzeniem w niej żadnych przedmiotów. – wildplasser