Ho un database in PostgreSQL che prende il nome DATA
in tutte le protezioni. Quando cerco di scrivere un data.frame R per questo database con RPostgreSQL in questo modo:scrittoi a PostgreSQL utilizzando rPostgreSQL quando il nome del database è tutte le lettere maiuscole
library(RPostgreSQL)
con <- dbConnect(PostgreSQL(), host="myhost",
user= "postgres", password="myPass", dbname="DATA")
dbWriteTable(con, "test", myDf)
ottengo il seguente errore:
Error in postgresqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not Retrieve the result : ERROR: no schema has been selected to create in
)
[1] FALSE
Tuttavia ho notato che se vado a PostgreSQL e cambiare il database name a data
(minuscolo) e quindi modificare lo script per chiamare dbname="data"
quindi funziona come un fascino.
ho guardato attraverso la documentazione per rPostgreSQL e l'unica menzione del caso ho visto aveva a che fare con i nomi dei campi che sono maiuscole e minuscole.
Quindi le mie domande sono:
- IS è previsto questo comportamento?
- Nella mia situazione ho controllare il DB in modo da posso rinominare il database a volontà. Come potrei aggirare questo comportamento se non potessi rinominare il database in minuscolo?
'\ "DATA \"' sembra promettente. Lo proverò tra un po '. Grazie, come sempre, per la risposta super veloce. –
Sto eseguendo una versione di rPostgreSQL che ho creato su Mac OS 10.7. È possibile che abbia creato una versione precedente. Costruirò dall'ultima fonte e test. –
@ Dirk Eddelbuettel: la tabella dbwrite è molto chiara grazie. Ho una piccola domanda riguardante l'inserimento di dataframe in una tabella (database). Ho una tabella con il nome "bank1" e contiene già alcuni dati.Ho un dataframe in R con nome "df1" che contiene gli stessi dati (nessun numero simile di colonne e nomi di colonne). Ora voglio aggiornare bank1 con df1. potresti dirmi come posso farlo? – Chanti