CREATE TABLE public.controle_despesas_pessoais (
  chave_pessoal INTEGER NOT NULL,
  data DATE NOT NULL,
  chave_categoria INTEGER,
  chave_responsavel INTEGER,
  valor NUMERIC(15,2),
  observacoes VARCHAR(4000),
  CONSTRAINT controle_despesas_pessoais_pkey PRIMARY KEY(chave_pessoal)
) 
WITH (oids = false);

COMMENT ON COLUMN public.controle_despesas_pessoais.chave_pessoal
IS 'Chave da tabela';

COMMENT ON COLUMN public.controle_despesas_pessoais.data
IS 'Data do lançamento da despesa';

COMMENT ON COLUMN public.controle_despesas_pessoais.chave_categoria
IS 'Código da categoria';

COMMENT ON COLUMN public.controle_despesas_pessoais.chave_responsavel
IS 'Código do responsável';

COMMENT ON COLUMN public.controle_despesas_pessoais.valor
IS 'Valor da despesa';

COMMENT ON COLUMN public.controle_despesas_pessoais.observacoes
IS 'Observações do lançamento';

CREATE INDEX controle_despesas_pessoais_idx1 ON public.controle_despesas_pessoais
  USING btree (data);

CREATE INDEX controle_despesas_pessoais_idx2 ON public.controle_despesas_pessoais
  USING btree (chave_categoria, data);