Problem with the schema structure produced by Schema module
Drupal doesn't have a boolean type for DB schema, and there's no automatic fallback for a type it doesn't know about, so you end up with the invalid portrait NOT NULL instead of portrait boolean NOT NULL in the create statement.

To fix, just add a pgsql_type to the column. DatabaseSchema_pgsql::processField() knows what to do with it.

'portrait' =&gt; array(
  'description' =&gt; 'TODO: please describe this field!',
  'type' =&gt; 'int', // Keep it portable
  'pgsql_type' =&gt; 'boolean',
  'not null' =&gt; TRUE,
),