This page documents differences between the current SQL Server database and the future PostgreSQL database. Some datatypes and functions that exist in one SQL implementation do not exist in the other. This page will grow and change as the project moves on.
Type Differences
Some Types that we use in SQL Server don't exist in PostgreSQL or they have different names. Here’s a list:
nvarchar(int) is called varchar(int). These two types should be identical.
datetime does not exist. Currently we’re mostly using date. In some instances we use timestamp. Note that date does not store the time of day but in some cases timestamp may be causing issues with Django’s automated migration. This is currently being investigated.
There exists no equivalent of tinyint. We’re forced to use smallint instead. Hopefully this will not affect db size too much.
varbinary(int) does not exist. Currently we use ByteA. It is a variable-length binary string, unfortunately we can not assign a default length.
uniqueidentifier is called uuid (this is short for “universal unique identifier”).