私はこれを持っています:
DROP SCHEMA Lab1 CASCADE;
CREATE SCHEMA Lab1;
CREATE TABLE Lab1.PERSONS(
SSN INT primary key,
Name CHARACTER (30),
HouseId INT,
ApartmentNumber INT ,
Salary DECIMAL (5, 2)
);
しかし、これは機能しません。スキーマを適切に作成しますが、表示できない奇妙な場所にテーブルを作成します(\d+
例)実際には、「lab1」スキーマを削除しようとすると、スキーマがlab1で使用されているというエラーがスローされます。
デフォルトのパスをlab1スキーマに設定してみました:ALTER ROLE -myusername- SET SEARCH_PATH to Lab1;
しかし、それもうまくいきませんでした、\d+
にはまだ「人」がいます。
それで、どのようにこのテーブルを必要なスキーマに入れるのですか?ありがとう。
runnigを試してみました:
DROP SCHEMA Lab1 CASCADE;
CREATE SCHEMA Lab1;
CREATE TABLE Lab1.PERSONS(
SSN INT primary key,
Name CHARACTER (30),
HouseId INT,
ApartmentNumber INT ,
Salary DECIMAL (5, 2)
);
t=# \dt+ lab1.persons
lab1 | persons | table | postgres | 0 bytes |
ご覧のとおり、テーブルはlab1スキーマに作成されています。 Lab1
スキーマで必要な場合は、ステートメットを変更する必要があります。
t=# DROP SCHEMA "Lab1" CASCADE;
ERROR: schema "Lab1" does not exist
t=# CREATE SCHEMA "Lab1";
CREATE SCHEMA
t=# CREATE TABLE "Lab1".PERSONS(
t(# SSN INT primary key,
t(# Name CHARACTER (30),
t(# HouseId INT,
t(# ApartmentNumber INT ,
t(# Salary DECIMAL (5, 2)
t(# );
CREATE TABLE
t=# \dt+ "Lab1".persons
Lab1 | persons | table | postgres | 0 bytes |