【发布时间】:2018-03-10 21:30:52
【问题描述】:
是否可以仅更改表以使现有列成为串行自动生成的键,而不添加新列?对不起,如果这个问题对于 PostgreSQL 来说有点新手,我更像是一个 SQL Server 人,但正在转向 PostgreSQL ..
简而言之,该程序会将现有的 SQL Server 数据库复制到 PostgreSQL 中。希望在 PostgreSQL 中拥有一个镜像数据库作为 SQL Server 的源,唯一需要注意的是,可以根据需要选择性地包含/排除任何表或列,或者做任何事情......
鉴于该过程会复制所有值,因此认为应该能够在复制完成后创建键,就像在 SQL Server 中所做的那样。认为 PostgreSQL 将具有与 SQL Server 的 SET INSERT_IDENTITY [ON|OFF] 类似的方法,因此可以用所需的值覆盖自动生成的键。在 PostgreSQL 中没有看到等价物。所以我的后备是在 Postgres 中创建镜像记录,没有键任何键,然后更改表。但它似乎根据需要修复了表,创建了一个新列,但是这样做会中断或导致修复 RI 以进行 PK/FK 关系的头痛。
有什么建议吗?提前致谢。
【问题讨论】:
标签: sql-server postgresql database-design auto-increment alter