Connexion à une base de données postgresql
L'objectif est de se connecter directement à une base de données PostgreSQL, sans passer par la phase "export CSV".
Le script présenté ici permet de demander le mot de passe à chaque connexion, pour éviter de le stocker "en dur" dans le fichier.
Script fourni par Hilaire Drouineau, chercheur à l'IRSTEA.
## Installation de la bibliothèque et chargement du pilote
install.packages('RPostgreSQL')
library(RPostgreSQL)
db.driver<-dbDriver("PostgreSQL")
## Création de la fonction de saisie du mot de passe, avec effacement de la console après saisie
getPass=function() {
print("password: ")
pass=scan(n=1,what=character(),quiet=TRUE)
cat("\014")
return(pass)
}
##ouverture de la connexion
db.con <- dbConnect(db.driver, user="login", password=getPass(), dbname="database", host="serveur")
## exécution de la requête
rs <- dbSendQuery(db.con, "select (...)")
##Récupération des données
mydata<-fetch(rs,n=-1)