Не удается подключиться к AWS Redshift с помощью RPostgreSQL

Я не могу подключиться к своей базе данных AWS Redshift с помощью RPostgreSQL.

У кого-нибудь есть пример кода, который будет работать?

library (RPostgreSQL)
drv <- dbDriver("PostgreSQL")
conn <- dbConnect(drv, "database.us-east-1.redshift.amazonaws.com",  "jeffz", "PsWrd123")    
Error in postgresqlNewConnection(drv, ...) : 
  RS-DBI driver: (could not connect database.us-east-1.redshift.amazonaws.com@PsWrd123 on dbname "database.us-east-1.redshift.amazonaws.com"

Windows 7 postgresql-8.4-703.jdbc4 в драйверах путь к jre7 установлен в среде


person J Zahir    schedule 26.12.2013    source источник
comment
Вы должны предоставить пять аргументов (хост, порт, имя базы данных, имя пользователя и пароль), но вы предоставляете только три...   -  person hadley    schedule 26.12.2013


Ответы (2)


У меня была та же проблема - вот пример кода, который "работает" для меня:

Использование библиотеки (RPostgreSQL)

library (RPostgreSQL)
drv <- dbDriver("PostgreSQL")
con1 <- dbConnect(drv, host="hydrogen2.YOURHOST.us-east-1.redshift.amazonaws.com", 
                 port="5439",
                 dbname="mydb", 
                 user="master_user", 
                 password=password)
con1 # check that you have a connection (e.g. <PostgreSQLConnection:(8892,0)>  )
### Make sure AWS has the security/access permissions opened up to allow Port 5439 access from YOUR IP (or all IPs)

Использование библиотеки (RODBC)

password <- read.table(file="private.txt", header=FALSE) # where I'm holding pw
password <- paste(password[1,1], sep="") #

library(RODBC)
con2 <- odbcConnect("AWS_hydrogen2_source", uid = "master_user", pwd = password) # east region
con2 # works!  if a positive integer, you are connected
odbcGetInfo(con2)

Полный код здесь:

https://dreamtolearn.com/ryan/data_analytics_viz/93

https://github.com/rustyoldrake/AWS_Redshift_S3_R_Interface

* Как заметил другой человек, если система НЕВОЗМОЖНА ПОДКЛЮЧИТЬСЯ, убедитесь, что у AWS открыты права безопасности/доступа, чтобы разрешить доступ к порту 5439 с ВАШЕГО IP-адреса (или со всех IP-адресов). ) - по умолчанию они НЕ открыты, так что если вы их не откроете, то не подключитесь

person Ryan Anderson    schedule 15.06.2015

Убедитесь, что вы разрешаете доступ в группах безопасности RDS, указав 0.0.0.0/0 для всех IP-адресов.

person Sunny Sunny    schedule 17.01.2014