J'essaye d'accéder et de lire des tables et des vues de la base de données de Postgres dans R. Je peux obtenir les tables utilisant la fonction dbListTables
utilisant le paquet RPostgres
mais rencontrant des problèmes avec views
.Comment accéder et lire les vues Postgres dans R
comme ayant une connaissance naïve de Postgres, la recherche de moyens d'accès et de lecture des vues aussi bien dans R.
library(RPostgres)
library(DBI)
library(dplyr)
library(sqldf)
pw<- {
"password"
}
conn <- dbConnect(RPostgres::Postgres()
, host="host-name"
, port='5432'
, dbname="database-name"
, user="username"
, password=pw)
dbExistsTable(conn, "Test_Table")
#TRUE
dbListTables(conn)
mydf <- dbReadTable(conn, "Test_Table") # To Read the table in R
J'ai aussi essayé la commande ci-dessous selon ce lien: https://github.com/tidyverse/dplyr/issues/1007 mais sans succès.
SELECT table_name
FROM INFORMATION_SCHEMA.tables
WHERE table_schema = ANY (current_schemas(false));
Merci pour la réponse. J'ai essayé la requête sql que vous avez suggérée. Étonnamment, ce n'est pas le cas. Juste la question idiote, la question que vous avez suggérée vient de R Side? De plus, dbReadTable (conn, "vw_activeIngredient") pour View donne aussi une erreur: Erreur dans result_create (conn @ ptr, instruction): ERREUR: la relation "vw_activeIngredientBeta" n'existe pas LINE 1: SELECT * FROM "vw_activeIngredient" – string
Vous pouvez soit utilisez la requête ci-dessus dans un outil comme pgAdmin, ou à partir de R en utilisant 'dbGetQuery (conn," texte de la requête ")'. Si cela ne fonctionne toujours pas, quel est le message d'erreur que vous obtenez? – Scarabee
La partie dbGetQuery a fonctionné parfaitement mais la lecture de la vue donne toujours l'erreur dbReadTable (conn, "vw_country") Erreur dans result_create (conn @ ptr, déclaration): ERREUR: relation "vw_country" n'existe pas LIGNE 1: SELECT * FROM "vw_country " – string