It is clear that you can not use NOT NULL in a TYPE in postgreSql, whereas you can use it in a DOMAIN. However I do not believe DOMAIN is the correct application of what I have working in SQL Server but in PostgreSql ? What is the correct usage equivalent in PostgreSQL?
SQL SERVER:
CREATE TYPE [dbo].[Purchase_Type] AS TABLE(
[Month] [char](9) NOT NULL,
[Value] [int] NOT NULL,
[Buy] [int] NULL,
[Sell] [int] NULL
)