Erro join postgresql

Tenho a seguinte query:
SELECT *
FROM "TBL_PESSOA"
JOIN "TBL_TIPO_PESSOA"
ON (TBL_PESSOA.ID_TIPO_PESSOA = TBL_TIPO_PESSOA.ID_TIPO_PESSOA);

porém ela esta me dando o seguinte erro:
ERRO: faltando entrada para tabela “tbl_pessoa” na cláusula FROM
LINE 6: ON (TBL_PESSOA.ID_TIPO_PESSOA = TBL_TIPO_PESSOA.ID_TIPO_PES…
^
********** Error **********

ERRO: faltando entrada para tabela “tbl_pessoa” na cláusula FROM
SQL state: 42P01
Character: 75

Que erro é esse? ja tentei fazer de diversas maneiras e nao estou conseguindo, e tambem nao consigo apelidar as tabelas, pois quando uso o apelido.coluna fala que a coluna não existe ou tabela nao existe, porém elas existem!!
alguem consegue me ajudar?

Rodou essa query no PGAdmin?

Eu, particularmente, não gosto desta abordagem:

SELECT * FROM TABELA 
JOIN OUTRA_TABELA
ON TABELA.ID = OUTRA_TABELA.TABELA_ID.

Eu prefiro:

SELECT t1.col1, t1.col2, t1.col3, t2.col1, t2.col2, t2.col3
FROM TABELA t1
INNER JOIN OUTRA_TABELA T2
ON t1.ID = t2.TABELA_ID;

Não sei se tentou desta maneira, mas, eu faria isso.

Em tempo, se você insistir no SELECT *, pode usar o alias assim

SELECT t1.*, t2.*

Ao usar aspas duplas para nome de objetos, você força o postgres a usar aquele nome do jeito que digitou. Sem elas, ele geralmente transforma o nome do objeto para minúsculo (que acreditor ser o formato interno).

Pela mensagem de erro, ele tá procurando uma tabela tbl_pessoa (em minúsculo) no seu FROM mas ele só encontra a versao maiscula.

Acho que se remover todas as aspas duplas, deve funcionar.

Quando eu coloco o apelido na tabela eu nao consigo chama-la. fala que que ela não existe
eu também prefiro do jeito que vc demonstrou, porém dessa maneira também não funciona…
E sim, estou o usando o pgadmin

Sempre quando eu chamo uma tabela sem aspas dupla da um erro falando que a tabela não existe. Fazendo do jeito que indicou, fala que a “tbl_pessoa” não existe.

Está tentando rodar essa query de que forma?

Presumo que seja o PGAdmin, certo?
Eu concordo com o @AbelBueno. Ou você tira as aspas duplas de tudo ou coloca em tudo. Veja que na cláusula ON você não tem aspas.

Sim, PGAdmin
Mas se eu tiro as aspas fala que a tabela não existe
SELECT *
FROM TBL_PESSOA
JOIN TBL_TIPO_PESSOA
ON (TBL_PESSOA.ID_TIPO_PESSOA = TBL_TIPO_PESSOA.ID_TIPO_PESSOA);

erro:
ERRO: relação “tbl_pessoa” não existe
LINE 4: FROM TBL_PESSOA
^
********** Error **********
As tabelas foram todas criadas com letras maiusculas, e em todas, que eu preciso fazer alguma consulta, eu nao consigo a nao ser que eu coloque as aspas, sempre fala que a tabela não existe.

Queria entender também porque não consigo utilizar os apelidos das tabelas
quando coloco o apelido.coluna da tabela, da erro tambem dizendo que a tabela não existe…

Com apelido tem que funcionar. Aqui um exemplo: https://www.db-fiddle.com/f/mb1f55u8Lw4ostMg1voWyn/0

Aliás, nao acha uma boa idéia criar a tabela usando aspas duplas, vai gerar dor de cabeça pra sempre. Se pode corrigir isso, recomendo.

“TABELA” esse seria o nome da tabela? com aspas duplas mesmo??
SELECT *
FROM “TBL_PESSOA” P
JOIN “TBL_TIPO_PESSOA” TP
ON (P.ID_TIPO_PESSOA = TP.ID_TIPO_PESSOA);
Executando essa query, fala que a coluna “P.ID_TIPO_PESSOA” não existe, porém ela existe!!
e se eu tiro as aspas do from, fala que a tabela TBL_PESSOA não existe…
Preciso muito dessa ajuda…

Pode recriar as tabelas, sem aspas no nome?

Se o erro mudou, o problema é diferente.
Suspeito que está reclamando da coluna ID_TIPO_PESSOA pois ela também foi criada com aspas duplas. O que causa os mesmos problemas que o nome da tabela. Experimenta colocar o ID entre aspas e veja se funciona.

mas eu não criei tabelas ou colunas com aspas, e sim em letras maiusculas…
Entre aspas da o mesmo erro falando que a coluna não existe…

Faz assim entao, tenta reproduzir o erro naquele site que mandei o link acima (db-fiddle). Coloque as tabelas lá, alguns dados de exemplo e sua query.

https://www.db-fiddle.com/f/iPYuFvFpw4ac9UhqxTtwvM/0
Da uma olhada…
Se eu coloco a mesma query no pgadmin ela não funciona, porém no site deu certo…
Isso ta muito estranho

Pode ser um bug no pgadmin entao…

Como foi mencionado aqui antes, aspas duplas no nome causa dores de cabeça. Se nao puder se livrar delas, procure outro cliente de banco de dados.

Mas amigo, no meu banco eu não criei as tabelas e nem colunas com aspas.
Eu uso porque se não coloca da erro!
O nome delas no Shema está sem aspas!

As aspas nao fazem parte do nome da tabela. Quando o banco encontra aspas num nome, ele vai procurar aquele objeto exatamente como está escrito, enquanto normalmente ele procura tudo em minúscula.

Por exemplo: https://www.db-fiddle.com/f/iAuTCxQXGyWYavNeWq6qX7/0
Aqui foi possível criar 3 tabelas pessoas, pq estou usando aspas. Sem elas teria dado erro.
Se checar a tabela information_schema.tables do seu banco e notar que os nomes nao estao em minúsculo, é porque foram criadas com aspas.

Então no postgre, se eu criar uma tabela com letras MAIÚSCULAS ele vai entender que ela estão entre aspas??
Onde consigo chegar essa tabela information_schema.tables?