Select simples com left join

Pessoal estou tentando um select simples :

SELECT tblusu.id, tblusu.usunome, tblusu.status,Cadprest.autwebcons, Cadprest.autwebsadt, Cadprest.autwebint
FROM tblusu
left join Cadprest on tblusu.usucod = Cadprest.codprest

esta dando o seguinte erro :

ERROR: operator does not exist: character varying = integer
LINE 3: left join Cadprest on tblusu.usucod = Cadprest.codprest
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.

********** Error **********

ERROR: operator does not exist: character varying = integer
SQL state: 42883
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Character: 167

minhas tabelas abaixo :

CREATE TABLE tblusu
(
  usucod character varying(6) NOT NULL, -- Codigo do Usuario
  usunome character varying(40) NOT NULL, -- Nome do usuario, quando o status for Prestador grava o codigo do prestador (cadprest->codprest) neste campo
  ususenha character varying(20), -- Senha Criptografada
  status character varying(50) NOT NULL, -- Status do usaurio sendo Administrador, Usuario, Prestador ou Empresa
  origem character varying(1),
  nome character varying(50), -- Nome do usuario
  id serial NOT NULL,
  perfil character varying(20), -- Perfil do Usuario
  CONSTRAINT tblusu_usucod_pk PRIMARY KEY (usucod)
)




CREATE TABLE cadprest
(
  codprest character varying(6) NOT NULL, -- Codigo do prestador
  nomeprest character varying(60) NOT NULL, -- Nome do prestador
  tipoprest character varying(1), -- Tipo : Fisico ou Juridico
  cnpj_cpf character varying(18), -- CNPJ ou CPF
  ieprest character varying(20), -- Inscricao estadual
  categprest character varying(50), -- Categoria: Medico Clinica Laboratorio Hospital
  foneprest character varying(15), -- Telefone
  faxprest character varying(15), -- Fax
  depprest smallint, -- No dependentes
  irprest character varying(1) -- Desconta IR
  CONSTRAINT cadprest_pkey PRIMARY KEY (codprest)
)

Cara não sei como é a lógica do seu banco de dados, mas pelo analisei - “posso estar enganado”, mas
pq vc ta criando Codigo em variavel de texto? codigo não é sequencial? use Integer…

E uma coisa também, me parece que voce tem duas tabelas, uma de usuario e outra de prestações…
e pq vc ta repetindo dados de uma tabela com a outra? sendo que o usuario esta se relacionando com a
outra tabela?

Se isso for real, sua modelagem esta incorreta, isso fara com que as consultas do seu banco de dados fiquem mais lentas
e que o seu banco de dados fique mais pesado, e vai ter bastante redundancia que não era necessario.

Obs.: Se você usar Varchar no codigo como parece pq talvez voce esteja usando mascara para o codigo, vai acontecer
que chegando uma hora que o codigo ultrapasse 6 digitos, vai da pau em todas tabelas que usarem o codigo do usuario.
Melhor usar Inteiro que vc nao vai ter esse problema futuramente…

Enfim, é uma dica…

SELECT * FROM tblusu u
       LEFT JOIN cadprest p
            ON p.codprest = u.usucod
ORDER BY u.usucod ASC

Outras dicas
http://javaaberto.blogspot.com.br/2012/09/normalizacao-de-banco-de-dados.html
http://javaaberto.blogspot.com.br/2012/10/sql-cross-inner-left-right-e-full-outer.html