问题标签 [rpostgresql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
395 浏览

r - R中可用的postgresql库有什么区别?

我正在使用我postgresql的一些分析,到目前为止,我在 R 中使用了该RPostgreSQL库。

经过最近的检查,我发现

  • 虽然仍在 CRAN 上,但作为 google.code 更改的一部分,源正在被驱逐。上次更新时间为 2014 年(但 CRAN 版本已有 3 年历史)。
  • 我找不到“官方”源库将在哪里的指示(另一方面,在 github 上有各种版本,但很难理解哪个是“官方”源库)。
  • 在浏览时,我发现了RPostgresHadley Wickham 的一个包(不少于!)。它被描述为更快,RPostgreSQL另一方面它似乎并不成熟。令人欣慰的是,最新的更新已在 2015 年 2 月完成。

我对“GitHub rpostgresql tomoaki”的谷歌研究没有帮助:有很多人将谷歌代码的源代码复制到 GitHub 上,我找不到 Tomoaki 的页面。

有谁知道:

  • RPostgreSQL还在积极维护吗?
  • 官方资源将位于何处?

RPostgres另外,和之间有什么区别RPostgreSQL

0 投票
1 回答
6094 浏览

r - RPostgreSQL - 将数据框导入表中

我想将完整的数据框导出到已经在数据库(postgresql)中创建并包含类似数据的表中。

我发现了一些关于 dbwrite 表的解释问题(....overwrite = TRUE),我不想覆盖表中已经存在的数据。我只想用来自 r 控制台的数据框更新我的表。

有人可以让我知道我该怎么做..

像这样的东西

0 投票
1 回答
150 浏览

r - Postgresql - 如何利用循环(或在 r 中应用)来减少 r 脚本的大小

我的数据库中有两个表。两个表中的列及其数据类型如下所示。假设两个表都存储了 3 台机器的数据。每台机器都有两个 s_id,通过使用它们,我将选择特定机器的所需数据。

每台机器的 s_id 是

通过使用以下脚本,我将获得所需的结果。

库(RPostgreSQL)

因为我不是编程背景,所以我对每台机器都使用上述完整的查询语句

在我的情况下,是否可以使用循环而不是对每台机器使用查询。这样在一个查询中我将获得所有机器数据。

有人可以用我的例子告诉我如何做这些。实际上,我需要运行 6 个单独的脚本,并且在每个脚本中我需要三台不同机器的数据。

0 投票
1 回答
1808 浏览

r - 无法使用 SSL 创建 dbConnect 到 Postgres

我正在运行一个需要 SSL 的 Postgres-9.4 服务器。当我使用 pgadmin 或 windows odbc 连接从笔记本电脑连接到 Postgres 服务器时,它使用 SSL。但是,当我尝试使用 SSL 与 R 连接时,它失败了。

如果我将 pg_hba.conf 设置为允许非 ssl 连接,那么这将起作用。当我将其设置为仅允许 SSL 连接时,这将失败。不幸的是dbConnect没有verbose选择,所以我什么都没有could not connect postgres@192.168.1.179 on dbname "postgres"

我发现这个问题似乎表明我在做正确的事情,但是不行。

编辑:

我做了更多的挖掘,发现这个讨论表明由于各种库/dll问题,这在windows上不起作用。那个讨论在这一点上已经有几年了,所以也许它已经解决了。我可以确认从 linux 执行上述操作确实有效。

0 投票
1 回答
617 浏览

r - 使用 R 进行红移

我是通过 R 连接到 Redshift 的新手,我已经阅读了其他问题,但是当我尝试创建表时仍然出现错误。我已经成功建立了连接,并且我认为成功建立了表:

但是,当我尝试检查表是否存在以及字段是否存在时,我收到以下消息:

我很困惑,因为我认为该表已成功创建,但在数据库本身中也找不到它。当我尝试发送它并再次创建它时,我得到以下信息:

有什么我想念的吗?

请帮忙!谢谢

0 投票
1 回答
1765 浏览

r - 在 Mac 10.11.3 上使用 RPostgreSQL 将 R 连接到 Redshift

[原帖]

我见过几个类似的 SO 问题,但我认为它们中的任何一个都与操作系统无关。

长话短说,这是我在尝试建立与 Redshift 的 ssl 连接时看到的。

我尝试了以下方法,但都没有奏效。

  1. 使用 R 通过 SSL 连接到 Redshift
  2. 将文件从 PostgreSQL 导入到 R
  3. 使用 R 通过 SSL 连接到 Postgres
  4. https://groups.google.com/forum/#!topic/rpostgresql-dev/ELnVUJqjDbk

我在 AWS 中有一个 EC2 节点(Ubuntu),在办公室有另一个 Mac Pro,所以我尝试使用相同的代码从两者连接。

Linux 系统可以复制和粘贴完全相同的代码。这是Sys.info()Linux服务器上的:

但是,Mac Pro 失败并显示完全相同的错误消息。这是 Mac Sys.info()(与我的 Mac 笔记本电脑相同):

我想知道导致此错误消息的 Mac 和 Linux 配置有什么不同?

[2016/02/10 更新]

我试图卸载 R 和所有相关文件,然后从自制软件重新安装 R:

相同的错误信息:

仅供参考,我可以使用相同的代码连接到其他非 SSL Redshift 集群,因此它可能与 Mac 上的 openssl 相关。

[2016/02/11 更新]

来自@MasashiMiyazaki 评论的更多信息:

我已经psql通过 CLI 进行连接,它工作正常。另外,我也可以使用 Python 模块成功连接psycopg2。但是,我必须禁用这条线.bash_profile才能让它们工作:

0 投票
1 回答
540 浏览

r - 如何在 postgreSQL(Redshift)数据库中的“大”数据上使用 tidyr(或类似的数据处理)

我在一个 12 节点的 redshift 集群中有 40 亿行数据。我成功地使用 Rpostgreqsql 包连接到它并使用 dplyr 进行基本的数据整理。

但是,我想做一些数据整形,我通常会使用 reshape2 (dcast) 或 tidyr (spread) 来做。我发现这两个包都没有在我的数据库对象上执行。我可以运行“收集”,但这会出现问题,因为该数据框太大而无法放入内存(因此我想在数据库中运行)。我的总体目标是使用 dcast/spread 使数据更宽,同时在过程中创建 0/1 标志。这就像我机器上的小数据样本的魅力,但在 DB 上不是很好。

下面是我正在工作的代码。连接到数据库并使用 dplyr 进行基本过滤。当我尝试使用 tidyr/reshape2 时,R 会抛出“类型无法识别”的语法错误

0 投票
1 回答
92 浏览

r - 按日期从数据库中拆分一个大文件

我正在从数据库(test1)中读取一个大数据文件。我无法在 R 中直接读取和处理的数百万行。

我想根据“horodatage”列从这个大文件创建子文件。我在下面给出了一个示例来从大文件中提取一个文件,但现在我想不仅在这两个日期之间对所有文件执行此操作。

拆分必须从“23/03/2005 11:00”这个日期开始,一直到大文件的末尾(大约在“31/12/2005 23:59”左右(来自数据库的test1)和持续时间一个子文件必须是 30 分钟(换句话说:每个子文件正好 36000 行)。

然后,每个子文件都必须以(A200503231100.dat、A200503231130.dat、A200503231200.dat、A200503231230.dat 等)的名称保存

horodatage 列的格式已经是

我开始的代码是:

如果您对这个大文件的循环有任何见解,那将非常有帮助。

0 投票
1 回答
1262 浏览

r - Shiny 应用程序中 PostgreSQL 连接的保持活动功能?

我有一个shiny应用程序RPostgreSQL用于连接到数据库并临时查询数据。

此代码在应用程序初始化时运行,但一段时间后,连接被服务器终止:

如果我只是打电话:

再次,它创建了第二个连接:(我希望这样)

(最终,已达到最大连接数,您无法创建另一个:https ://groups.google.com/forum/#!topic/shiny-discuss/0VjQc2a6z3M )

我想创建一个连接到我的 PostgreSQL 数据库的函数(如果它还没有),并保持连接打开(通过 SELECT'ing 1)如果它有:

编辑 2016/03/12:不知道为什么,但我上面写的函数似乎不能正常工作......

当我调用它时,我得到:

特别是,这部分dbGetQuery(.sql$cxn, "SELECT 1")返回:

这个class输出是NULL(而不是错误?)。

任何想法我做错了什么?谢谢!

0 投票
1 回答
87 浏览

r - 如何在 RPostgreSQL 的 dbListTables() 函数中编写以获得与 PostgreSQL 的本机 /dt *name_pattern* 命令相同的结果?

我已经使用 RPostgarSQL 包连接到我公司的 PostgreSQL 数据库。我想使用 dbListTable() 函数列出与某些命名模式匹配的表。在本机 PostgreSQL 环境中,我可以只使用 psql 命令

查找表。如何使用 RPostgreSQL::dbListTable() 做同样的事情?