src_postgres 和连接 R 与 postgres 的 dbConnect 函数之间的区别

Difference between src_postgres and dbConnect function to connect R with postgres

src_postgresdbConnect 函数有什么区别?两者都可以使用 RPosgresql 包将 R 与 postgres 连接起来。在我的实验中,我只能使用 src_postgres 到 readdbConnect 来写入数据库。

当我尝试不同的组合时,我只收到错误。

这对我来说似乎很奇怪。

src_postgres 是一个函数,用于从 dplyr 包创建到 PostgreSQL 数据库的连接。 RPostgreSQL 包为 DBI 包中的通用 dbConnect 实现了一个方法。 src_postgresRPostgreSQL 调用 dbConnect(我假设)。

dbConnect 返回的通用连接对象是一个开放式接口,用于向数据库发送 SQL 查询。这意味着您可以为它提供任何 selectupdateinsertdelete 等您喜欢的查询。

src_postgres 是更高级别接口的一部分,用于处理 Hadley 在 dplyr 中构建的数据库中的数据。 src_* 函数连接到数据库,然后 tbl 函数指定更具体的数据源(table、视图、任意 select 查询)以从中提取数据。 dplyr 中有一些基本的 table 操作函数,但我不认为它是用来做 updateinsert 类型的工具数据库中的东西。那不是该工具的用途。请注意 dplyr 中实现的 "verbs" 都专注于提取数据和汇总(selectfiltermutate 等.).

如果您需要 更改 数据库中的行级数据,您需要将 SQL 查询发送到 [=11 创建的连接=].如果您所做的只是从数据库中提取数据并在 R 中对其进行分析,这就是 dplyr 的用途。