J'essaie de créer une table en postgres, mais elle se retrouve dans la mauvaise base de données.
Voici ce que je fais: dans mon script sql, je crée d'abord un utilisateur et une base de données, puis une table. Le code expliquera plus:
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;
maintenant, cela fait partie d'un script automatisé, et est exécuté à partir de la ligne de commande, comme:
Sudo -u postgres psql < create_db.sql
et j'ai déjà créé l'utilisateur postgres sur le système.
Et voici le problème: la table se retrouve dans la base de données postgres, schéma public, pas dans la base de données sinfonifry, schéma public.
Comment puis-je créer la table dans la base de données que je souhaite?
Merci et bravo, f.
Après l'émission de la commande create database, une connexion:
create database sinfonifry owner sinfonifry;
\connect sinfonifry