CREATE TABLE public.controle_despesas_combustiveis (
  chave_despesa_combustivel INTEGER NOT NULL,
  data DATE NOT NULL,
  chave_veiculo INTEGER,
  chave_operacao INTEGER,
  observacoes VARCHAR(4000),
  chave_combustivel INTEGER,
  litros NUMERIC(15,3),
  valor_litro NUMERIC(15,3),
  km_inicial NUMERIC(20,3),
  km_final NUMERIC(20,3),
  total_combustivel NUMERIC(15,2),
  km_rodado NUMERIC(20,3),
  CONSTRAINT controle_despesas_combustiveis_pkey PRIMARY KEY(chave_despesa_combustivel)
) 
WITH (oids = false);

COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_despesa_combustivel
IS 'Código da tabela';

COMMENT ON COLUMN public.controle_despesas_combustiveis.data
IS 'Data do lançamento';

COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_veiculo
IS 'Código do veículo';

COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_operacao
IS 'Código da operação';

COMMENT ON COLUMN public.controle_despesas_combustiveis.observacoes
IS 'Observação do lançamento';

COMMENT ON COLUMN public.controle_despesas_combustiveis.chave_combustivel
IS 'Código do combustível';

COMMENT ON COLUMN public.controle_despesas_combustiveis.litros
IS 'Quantidade de litros lançados.';

COMMENT ON COLUMN public.controle_despesas_combustiveis.valor_litro
IS 'Valor do litro de combustível';

COMMENT ON COLUMN public.controle_despesas_combustiveis.km_inicial
IS 'Km inicial do veículo';

COMMENT ON COLUMN public.controle_despesas_combustiveis.km_final
IS 'Km na chegada do veículo';

COMMENT ON COLUMN public.controle_despesas_combustiveis.total_combustivel
IS 'Valor total do Combustível';

COMMENT ON COLUMN public.controle_despesas_combustiveis.km_rodado
IS 'Total de km rodada';

CREATE INDEX controle_despesas_combustiveis_idx1 ON public.controle_despesas_combustiveis
  USING btree (data);

CREATE INDEX controle_despesas_combustiveis_idx2 ON public.controle_despesas_combustiveis
  USING btree (chave_veiculo, data);