首页 > 解决方案 > 无法连接到 Rstudio 中的 PostgreSQL,可能是权限问题?

问题描述

我遵循了 db.rstudio.com 和其他网站上的文档,但我无法从 Rstudio 连接到我的 Postgres 数据库。我在 macOS 10.14 上。跑步:

con <- DBI::dbConnect(odbc::odbc(),
                       Driver = "PostgreSQL Driver",
                       Database = "mydatabase",
                       UID = "myuser",
                       PWD = "mypassword",
                       Host = "localhost",
                       Port = 5432)

给出错误:

Error: nanodbc/nanodbc.cpp:983: 00000: 

起初,我在运行时得到了一个空列表,但是通过从全局复制到我的用户()odbcListDrivers(),我能够让它显示 postgres 驱动程序的位置/值。odbcinst.ini/etccp /etc/odbcinst.ini ~/.odbcinst.ini

同样,odbcListDataSources()在我做同样的事情之前什么也不返回 ( cp /etc/odbc.ini ~/.odbc.ini)

odbc.ini和被锁定,odbcinst.ini无法通过 Finder 进行编辑,但可以通过 nano/terminal 进行编辑。

我还尝试通过 Postgres 的堆栈构建器安装数据库驱动程序来解决这个问题,但它并没有改变任何东西。

总的来说,我怀疑这是一个权限问题,但我不太确定下一步该往哪里看。

谢谢你的帮助!


的许可odbc.ini是:

-rw-rw-rw-@ 1 root  wheel   139B Mar 31 12:57 odbc.ini

我改为:

-rwxr-xr-x@ 1 myuser  wheel   139B Mar 31 12:57 odbc.ini

但这并没有解决问题,错误是一样的。


的内容odbcinst.ini是:

[PostgreSQL Driver]
Driver = /usr/local/lib/psqlodbcw.so

的内容odbc.ini是:

[PostgreSQL]
Driver = PostgreSQL Driver
Database = mydatabase
Servername = localhost
UserName = myuser
Password = mypassword
Port = 5432

odbc::odbcListDrivers()给出:

 name       attribute
1 PostgreSQL Driver          Driver
2      ODBC Drivers Amazon Redshift
3   Amazon Redshift          Driver
                                                           value
1                                    /usr/local/lib/psqlodbcw.so
2                                                      Installed
3 /opt/amazon/redshift/lib/universal/libamazonredshiftodbc.dylib

odbc::odbcListDataSources()给出:

        name       description
1 PostgreSQL PostgreSQL Driver

标签: rpostgresqlrstudio

解决方案


推荐阅读