Re: migrating numeric to serial from MSSQL to postgres
От | Daniel CAUNE |
---|---|
Тема | Re: migrating numeric to serial from MSSQL to postgres |
Дата | |
Msg-id | 001001c6f06d$cdd508b0$0b00a8c0@tedy обсуждение исходный текст |
Ответ на | Re: migrating numeric to serial from MSSQL to postgres (Terry Fielder <terry@ashtonwoodshomes.com>) |
Список | pgsql-sql |
> I believe: > IDENTITY(1, 1) just means "Primary Key" in M$SQL > IDENTITY is not obligatory a primary key. It's an auto-incremented column. It might correspond to a PostgreSQL sequence. [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts _ia-iz_3iex.asp] > numeric 18,0 means a numeric field of zero decimal points. Hence we are > looking at a 18 byte integer. bigint is not big enough, so probably > should use the same in numeric 18,0 in postgres > numeric[ (precision[ , scale] )], where precision refers to the maximum total number of decimal digits that can be stored. The default precision is 18, and for such a value the storage is of 9 bytes. [http://msdn2.microsoft.com/en-us/library/ms187746.aspx] Because it seems that a default value has been used here, I'd say that Kenneth doesn't have any particular requirement, haven't you Kenneth?... :-) An int or a bigint would be perhaps sufficient. My two cents. I don't know whether Kenneth requires migrating database structure only or whether he needs to migrate data too. When migrating data, Kenneth might want to define a sequence which start value begins at the next value of its IDENTITY column (cf. IDENT_SEED(my_table)). [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts _ia-iz_9yxw.asp] Kenneth might want to transfer his data first and to define the sequence after (for transfer performance reason?): CREATE TABLE my_table ( Id INTEGER NOT NULL, ... ); [DTS process here] CREATE SEQUENCE my_sequence INCREMENT BY 1 MINVALUE 1 NO MAXVALUE START WITH <IDENTITY current value + 1> CACHE 1 NO CYCLE; ALTER TABLE m_table ALTER COLUMN Id SET DEFAULT NEXTVAL('my_sequence'); Does that make sense? -- Daniel
В списке pgsql-sql по дате отправления: