私たちはSQLServerユーザーであり、最近PostgreSQLに1つのデータベースがあります。一貫性を保つために、SQLServer2000上のデータベースをSQLServer2000上の他のデータベースに複製し、PostgreSQL上のデータベースにも複製する必要があります。これは、ODBCとリンクサーバーを使用して行うことができました。PostgreSQLでデータベース用のODBCDSNを作成し、そのDSNを使用してSQLServerでリンクサーバーを作成しました。SQL Serverデータベースからそのリンクサーバーに、したがってPostgreSQLデータベースにテーブルを正常に複製することができました。現在直面している問題は、レプリケーション中に、データ型ビット、numeric(12,2)、decimal(12,2)がそれぞれcharacter(1)、character(40)、character(40)に変換されることです。これらのデータ型をPostgreSQLデータベースに保持する方法に関する解決策はありますか?つまり、ビットはブール値になるはずです、数値と10進数のデータ型は、postgresqlのレプリケートされたテーブルにそのまま残しておく必要があります。PostgreSQL9.xを使用しています
SQL Serverテーブル、
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),
)
どうもありがとうございます。