Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

1. Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Michel Luis Grassi
mlgrassi

(usa Debian)

Enviado em 22/05/2020 - 09:15h

Prezados,

Criei um dblink no postgres 10 e inclusive já testei e funcionou:


CREATE EXTENSION dblink


Testando:

SELECT * FROM dblink('host=192.168.2.43 port=5432 user=postgres password=postgres dbname=teste' , 'SELECT COL_A, COL_B, COL_C FROM TABELA_A') AS CONSULTA (COL_A INTEGER, COL_B VARCHAR, COL_C DATE);


Até aí tudo bem pois funcionou. Agora que vem o X da questão.
Utilizando esta maneira de realizar a consulta, a qual estou fazendo na tabela TABELA_A do dblink, eu sou obrigado a informar no select interno o tipo do dado a ser retornado. Logo se eu quiser que a consulta retorne as colunas A, B e C, eu terei que informar depois do alias chamado CONSULTA quais tipos de dados eu espero no retorno (vide acima). Mas e se eu tiver uma tabela com várias colunas (120) e quiser retornar todas? Como fazer um SELECT * FROM sem precisar informar cada coluna e cada tipo de dado? Alguém sabe?



  


2. Re: Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Afonso T Freitas
atf

(usa openSUSE)

Enviado em 23/05/2020 - 09:24h

A coisa é um pouco mais extensa. Veja as instruções em https://www.postgresql.org/docs/10/contrib-dblink-connect.html

LinuxUser#142898


3. Re: Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Michel Luis Grassi
mlgrassi

(usa Debian)

Enviado em 23/05/2020 - 12:45h

Amigo, essa documentação aí acima do link que você me passou eu já li. E já testei também, e resulta na mesma coisa do que a função dblink.
Em outras palavras o problema é o mesmo. Ou seja até onde a documentação nos leva, não é possível realizar select * from no dblink sem obrigatoriamente especificar os tipos de campo, um por um, e é justamente isso que eu não quero.


4. Re: Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Michel Luis Grassi
mlgrassi

(usa Debian)

Enviado em 25/05/2020 - 08:52h

A mim me parece um absurdo um BD tão robusto e poderoso como o postgres não ter esta funcionalidade. No Oracle basta fazer select * from [email protected] e tá no papo.


5. Re: Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Michel Luis Grassi
mlgrassi

(usa Debian)

Enviado em 26/05/2020 - 13:12h

Ninguém mais???


6. Re: Como utilizar uma consulta SELECT * FROM TABELA em um dblink (Postgres 10) ?

Afonso T Freitas
atf

(usa openSUSE)

Enviado em 26/05/2020 - 13:31h

Como disse antes, a coisa é mais extensa e você não leu a continuação no manual.
CREATE FOREIGN DATA WRAPPER


LinuxUser#142898






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts