2017-08-10 2 views
1

Je suis incapable de se connecter à une table PostgreSQL (analytique d'amplitude) en utilisant cette approche dplyr:non à l'aide dplyr :: TBL pour référencer PostgreSQL (analytics Amplitude) table

dplyr::tbl(amplitude_db, from = "app123.myEvent") %>% show_query() 

Sortie:

RS-DBI driver: (could not Retrieve the result : ERROR: relation "app123.myEvent" does not exist 

Cependant, cette approche fonctionne:

dplyr::tbl(myCon,sql(("SELECT * FROM app123.myEvent"))) %>% show_query() 

sortie:

<SQL> 
SELECT * FROM app123.myEvent 
> 

Des idées pour lesquelles la première approche échoue?

Répondre

0

Je pense que votre première approche peut fonctionner que si vous utilisez in_schema du package dbplyr:

tbl(myCon, in_schema("app123", "myEvent")) %>% show_query() 

Si vous savez que vous allez Pour interroger plusieurs tables à partir du même schéma app123, il peut être judicieux de définir le chemin de recherche de ce schéma:

dbSendQuery(myCon, "set search_path to app123") 

(de cette façon, vous n'aurez pas besoin de spécifier le schéma à chaque fois)