Identity column data type difference in PostgreSQL and Oracle

Поиск
Список
Период
Сортировка
От Muhammad Ikram
Тема Identity column data type difference in PostgreSQL and Oracle
Дата
Msg-id CAGeimVpSjtMuq_J8bL_U3qe4ZaH78sVc35sdjZWO9sqJyLtLnA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Identity column data type difference in PostgreSQL and Oracle
Список pgsql-general
Hello, 

Tables which have an identity column in Oracle when migrated to PostgreSQL, the data type of Identity column is changed to bigint from number by the tools. This causes the size of column to be reduced to max value supported by bigint which is way lower than the oracle  number max.
Secondly one has to change referencing columns data type as well.

What should be a better strategy for such transformations ?

Sample tables

CREATE TABLE Sales (
    transaction_id NUMBER GENERATED ALWAYS AS IDENTITY MINVALUE 1 MAXVALUE <maxvaluefornumberdatatype> INCREMENT BY 1 START WITH 1  NOCYCLE
    customer VARCHAR2(100),
    transaction_date DATE,
    store_id NUMBER
);

CREATE TABLE Sales_Details (
    transaction_id NUMBER,
    item VARCHAR2(100),
    quantity NUMBER,
    price NUMBER,
    CONSTRAINT fk_transaction_id FOREIGN KEY (transaction_id) REFERENCES Sales(transaction_id)
);

--
Regards,
Muhammad Ikram

В списке pgsql-general по дате отправления:

Предыдущее
От: Avinash Vallarapu
Дата:
Сообщение: Re: Ora2pg Delta Migration: Oracle to PostgreSQL
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Identity column data type difference in PostgreSQL and Oracle