Postgres 9.1数据库包含表1..公共模式中的YKSU9.pgAdmin在下面的代码中显示了这些定义.

firma1模式中的其他表具有对这些表主键的外键引用.对这些表的外键引用仅来自firma1架构中的表.

其中一些表格包含数据.

看起来主键序列已经在firma1模式中,所以不应该移动它们.

CREATE TABLE yksus1
(
  yksus character(10) NOT NULL DEFAULT ((nextval('firma1.yksus1_yksus_seq'::regclass))::text || '_'::text),
  veebis ebool,
  nimetus character(70),
  "timestamp" character(14) DEFAULT to_char(now(), 'YYYYMMDDHH24MISS'::text),
  username character(10) DEFAULT "current_user"(),
  klient character(40),
  superinden character(20),
  telefon character(10),
  aadress character(50),
  tlnr character(15),
  rus character(60),
  CONSTRAINT yksus1_pkey PRIMARY KEY (yksus)
);
ALTER TABLE yksus1
  OWNER TO mydb_owner;

CREATE TRIGGER yksus1_trig
  BEFORE INSERT OR UPDATE OR DELETE
  ON yksus1
  FOR EACH STATEMENT
  EXECUTE PROCEDURE setlastchange();

其他表格类似:

CREATE TABLE yksus2
(
  yksus character(10) NOT NULL DEFAULT ((nextval('firma1.yksus2_yksus_seq'::regclass))::text || '_'::text),
  nimetus character(70),
  "timestamp" character(14) DEFAULT to_char(now(), 'YYYYMMDDHH24MISS'::text),
  osakond character(10),
  username character(10) DEFAULT "current_user"(),
  klient character(40),
  superinden character(20),
  telefon character(10),
  aadress character(50),
  tlnr character(15),
  rus character(60),
  CONSTRAINT yksus2_pkey PRIMARY KEY (yksus),
  CONSTRAINT yksus2_osakond_fkey FOREIGN KEY (osakond)
      REFERENCES yksus2 (yksus) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE NO ACTION DEFERRABLE INITIALLY IMMEDIATE
);
ALTER TABLE yksus2
  OWNER TO mydb_owner;

CREATE TRIGGER yksus2_trig
  BEFORE INSERT OR UPDATE OR DELETE
  ON yksus2
  FOR EACH STATEMENT
  EXECUTE PROCEDURE setlastchange();

推荐答案

ALTER TABLE yksus1
    SET SCHEMA firma1;

手册中的更多细节:http://www.postgresql.org/docs/current/static/sql-altertable.html

表列拥有的关联索引、约束和序列也会被移动

虽然不确定触发器功能,但也有一个等效的ALTER FUNCTION .. SET SCHEMA ....

Sql相关问答推荐

如何在PostgreSQL中同时为id s列表执行多个update语句?'

表名数组

Trino/Presto sq:仅当空值位于组中第一个非空值之后时,才用值替换空值

SQL—如何根据2列填写缺失的值

使用sede获取不一定有两个不同标签的所有问题

是否可以为表中的所有列生成散列值?

在查询Oracle SQL中创建替代ID

优化Postgres搜索未知长度的子串

如何为缺少的类别添加行

显示十进制列,但尽可能显示为整数

在Postgres,什么是;.USSTZ;在';YYYY-MM-DD;T;HH24:MI:SS.USSTZ';?

插入具有预期逻辑的查询以Forking 表

SQL中如何转置表格 UNPIVOT是唯一的 Select 吗?

如何优化仅返回符合条件的三条记录的查询?

根据行号将列转置为没有任何id或键列的行

SQL获取两个日期范围之间的计数

检索具有相同位置的最小和最大store 数量

如何在 SQL Server 中将 -13422.8450 舍入到 -13422.84

有没有一种方法可以将始终遵循序列的单个字段的值组合起来,以创建每个 ID 的所有移动?

按 15 分钟递增计数分组,包括 0 计数