是否可以定义默认情况下创建新表的模式?(由"不合格的表名称"引用.)
我已经看到了在Postgres中使用"搜索路径"的一些细节,但我认为它只在检索数据时有效,而不是创建.
我有一堆SQL脚本,它们创建了许多表.我没有修改脚本,而是希望默认情况下在特定模式中设置数据库创建表 - 当它们具有非限定名称时.
这可能吗?
我正在尝试创建一个之前删除的表.
但是当我这样做的时候CREATE TABLE A ...我收到以下错误:
关系'A'已经存在.
我验证了SELECT * FROM A,但后来又出现了另一个错误:
关系'A'不存在.
我已经试图在\dS+列出所有关系时找到它,但它并不存在.
为了使这一点复杂化,我通过在另一个数据库中创建此表来测试这个,我得到了同样的错误.我认为这个表被删除时可能会出错.有任何想法吗?
这是代码:我正在使用Power SQL生成的代码.我没有使用序列有相同的错误.它只是在我更改名称时起作用,在这种情况下我不能这样做.
CREATE SEQUENCE csd_relationship_csd_relationship_id_seq;
CREATE TABLE csd_relationship (
csd_relationship_id INTEGER NOT NULL DEFAULT nextval('csd_relationship_csd_relationship_id_seq'::regclass),
type_id INTEGER NOT NULL,
object_id INTEGER NOT NULL,
CONSTRAINT csd_relationship PRIMARY KEY (csd_relationship_id)
);
Run Code Online (Sandbox Code Playgroud)