gpt4 book ai didi

sql - 如何将表添加到 postgreSQL 中的特定模式?

转载 作者:行者123 更新时间:2023-11-29 11:21:03 24 4
gpt4 key购买 nike

我有这个:

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+ 仍然有“人”在公共(public)场合。

那么,我如何将这个表放入我想要的模式中呢?谢谢。

最佳答案

尝试运行:

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 |

关于sql - 如何将表添加到 postgreSQL 中的特定模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41737720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com