从SQL Server 2000到PostgreSQL的数据库复制
我们是SQL Server用户,最近我们在PostgreSQL上有一个数据库。为了保持一致性,我们正在将SQL Server 2000上的数据库复制到SQL Server 2000上的其他数据库,现在我们还需要将其复制到PostgreSQL上的数据库。我们可以使用ODBC和链接服务器来实现这一点。我们在PostgreSQL上为数据库创建了一个ODBC DSN,并使用该DSN在SQL Server上创建了一个链接服务器。我们能够将表从SQLServer数据库复制到链接服务器,从而成功地复制到PostgreSQL数据库。现在面临的问题是复制时,数据类型位、数字(12,2)和十进制(12,2)分别转换为字符(1)、字符(40)和字符(40)。关于如何在PostgreSQL数据库中保留这些数据类型,有什么解决方案吗?我的意思是位应该变成布尔值,数字和十进制数据类型应该保持在postgresql的复制表中。我们正在使用PostgreSQL 9.x SQL Server表从SQL Server 2000到PostgreSQL的数据库复制,postgresql,sql-server-2000,replication,Postgresql,Sql Server 2000,Replication,我们是SQL Server用户,最近我们在PostgreSQL上有一个数据库。为了保持一致性,我们正在将SQL Server 2000上的数据库复制到SQL Server 2000上的其他数据库,现在我们还需要将其复制到PostgreSQL上的数据库。我们可以使用ODBC和链接服务器来实现这一点。我们在PostgreSQL上为数据库创建了一个ODBC DSN,并使用该DSN在SQL Server上创建了一个链接服务器。我们能够将表从SQLServer数据库复制到链接服务器,从而成功地复制到Pos
CREATE TABLE tmtbl
(
id int IDENTITY (1, 1) NOT NULL PRIMARY KEY,
Code varchar(15),
booleancol bit,
numericcol numeric(10, 2),
decimalcol decimal(10, 2)
)
在复制到PostgreSQL之后,它变成
CREATE TABLE tmtbl
(
id integer,
"Code" character varying(15),
booleancol character(1),
numericcol character(40),
decimalcol character(40),
)
非常感谢。请使用:
boolean
类型为true
/false
列类型(postgres中没有位
类型)李>
real
PostgreSQL类型,因为它会工作得更快您可以随时查阅现有数据类型的官方文档。您听说过国外的数据包装器吗?
最好在询问。欢迎使用StackOverflow:如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!“数据类型转换为”:此转换使用哪种工具?您是否可以预先创建表manuall,以便不会发生这种(显然错误的)自动转换?real
如果您想要精确的值,则不是一个好的选择<代码>数字是一个更好的选择。