des tables à écrire à Postgresql à l'aide de rPostgreSQL lorsque le nom de la base est tout en majuscules
J'ai une base de données PostgreSQL qui est nommé DATA
dans tous les bouchons. Quand j'essaye d'écrire un R de données.cadre à cette base de données à l'aide de RPostgreSQL comme suit:
library(RPostgreSQL)
con <- dbConnect(PostgreSQL(), host="myhost",
user= "postgres", password="myPass", dbname="DATA")
dbWriteTable(con, "test", myDf)
J'obtiens l'erreur suivante:
Error in postgresqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not Retrieve the result : ERROR: no schema has been selected to create in
)
[1] FALSE
Cependant j'ai remarqué que si je vais à Postgresql et de changer le nom de la base de data
(en minuscules), puis modifiez le script pour appeler dbname="data"
il fonctionne comme un charme.
J'ai regardé à travers la documentation pour rPostgreSQL et la seule mention de l'affaire, j'ai vu avait à faire avec des noms de champ étant sensible à la casse.
Donc mes questions sont:
- Est ce comportement est normal?
- Dans ma situation, je contrôle la DB de sorte que je peux renommer la base de données. Comment puis-je contourner ce problème si je ne pouvais pas renommer la base de données à tous les cas?
OriginalL'auteur JD Long | 2011-09-19
Vous devez vous connecter pour publier un commentaire.
Il y avait certainement des problèmes avec tables en majuscules. Dans pense que nous traitons maintenant:
Essayez le citant comme des "DONNÉES" et il faut aller de travers. Non cotées identificateur de table tous faire de l'écrit en minuscule.
Votre problème est d'avoir la totalité de la base de données en majuscules. Il peut également travailler avec citer, peut-être même avec
'\"DATA\"'
comme un argument de dbConnect.Sinon, reproductible des exemples sur la liste sont les meilleurs, et avec un peu de chance, Tomoaki va trouver une solution pour votre problème.
Oh, et nous sort comme le paquet: RPostgreSQL avec capital arrrrrrr, surtout aujourd'hui à parler comme un piRate jour.
Edit: dirait qu'il n'ya tout simplement pas de problème avec les versions actuelles sur Ubuntu 11.04:
Tout d'abord, créez
DATA
Seconde, et dans R, de vous connecter et d'enregistrer certaines données:
Troisième, en vérifier le contenu en
DATA
:À la recherche de bon pour moi.
Je fais tourner une version de rPostgreSQL que j'ai construit sur Mac OS 10.7. Il est possible que j'ai construit une version précédente. Je vais construire à partir de la source la plus récente et de test.
Dirk Eddelbuettel: dbwrite tableau est très clair, merci. j'ai une petite question concernant l'insertion dataframe dans une table(base de données). J'ai une table avec le nom "bank1" et il contient déjà des données. j'ai un dataframe en R avec le nom "df1" qui contient les mêmes données (similaires pas de colonnes et les noms de colonne). Maintenant, je veux mettre à jour bank1 avec df1. pourriez-vous s'il vous plaît dites-moi comment puis-je le faire
OriginalL'auteur Dirk Eddelbuettel