NUMERIC(p,s) |
Firebird 4 and 5 support up to 38 digits; Firebird 3 supports up to 18. |
DBConvert checks the destination server version. On Firebird 4 or newer, NUMERIC(38,10) becomes DECIMAL(38,10). On Firebird 3, wider declarations are limited to 18 digits and reported before the run. Resolve the capacity mismatch before loading: values requiring more digits may be stored incorrectly. |
SERIAL, BIGSERIAL |
PostgreSQL draws the next key from a sequence; Firebird needs a generator and a trigger, or an identity column. |
Created as INTEGER or BIGINT with the key values copied. No generator is created, so add one before the application starts inserting. |
TEXT, JSON, JSONB |
Firebird has no unbounded text column and no JSON type. |
Become BLOB SUB_TYPE TEXT. Use a UTF8 target connection for the text-BLOB writer. JSON arrives as text; PostgreSQL's JSON operators need application-side changes. |
BYTEA, arrays |
Firebird has native arrays, but DBConvert does not map PostgreSQL arrays to them. |
Both become BLOB SUB_TYPE BINARY. If the application needs the array elements one by one, plan a child table. |
UUID, enum types |
Firebird has neither a UUID type nor user-defined enums. |
Become VARCHAR, holding the value as text. |
TIMETZ, INTERVAL |
A time with an offset, and a duration - neither has a Firebird column type chosen for it here. |
TIMETZ becomes TIMESTAMP and INTERVAL becomes VARCHAR(255), holding the interval as text. |