Após tentar criar a tabela compras e cometer erro, usei a solução proposta pelo instrutor.
CREATE TABLE compras (id SERIAL PRIMARY KEY,
valor decimal,
data date,
observacoes varchar(255),
recebido smallint);
No entanto, a coluna
observacoes varchar(255),
conflita com o enunciado, que pede para criar como "observacao". é apenas um detalhe , mas sugiro corrigir pois quando fui rodar o script dump-postgres.sql deu erro em todas as linhas de insert.