问题标签 [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 回答
176 浏览

performance - PostgreSQL - 如何减少选择语句执行时间

  • 我的 Postgres 版本:“PostgreSQL 9.4.1,由 Visual C++ build 1800 编译,32 位”
  • 我要处理的表;包含列
    1. eventtime - 没有时区的时间戳
    2. 序列号 - 字符变化(32)
    3. sourceid - 整数

和其他 4 列

这是我的选择语句

上述查询的执行时间为 59647ms

在我的 r 脚本中,我有 5 个此类查询(执行时间 = 59647ms*5)。如果不使用时区“CET”,执行时间会非常少 - 但在我的情况下,我必须使用时区“CET”,如果我是对的,那么高执行时间是因为这些时区。

我的查询计划

在此处输入图像描述

文字查询 在此处输入图像描述

解释分析查询(无时区) 在此处输入图像描述

无论如何我可以减少我的选择语句的查询执行时间

0 投票
0 回答
1992 浏览

r - ?tcpKeepAlive=true 和 RPostgres

我的 redshift 服务器的建议 url?tcpKeepAlive=true附加了一个,所以它看起来像

现在,该RPostgres::dbConnect函数具有签名

那个男人dbConnect

...- 描述附加连接选项的其他名称-值对,如http://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS中所述

但是,我能看到的最接近我正在寻找的连接选项是

  • keepalives

    控制是否使用客户端 TCP keepalive。默认值为 1,表示开启,但如果不需要保活,您可以将其更改为 0,表示关闭。对于通过 Unix 域套接字建立的连接,此参数将被忽略。

  • keepalives_idle

    控制 TCP 应向服务器发送 keepalive 消息的不活动秒数。零值使用系统默认值。对于通过 Unix 域套接字建立的连接,或者如果禁用了 keepalives,则忽略此参数。它仅在 TCP_KEEPIDLE 或 TCP_KEEPALIVE 套接字选项可用的系统和 Windows 上受支持;在其他系统上,它没有影响。

  • keepalives_interval

    控制应该重新传输未被服务器确认的 TCP keepalive 消息的秒数。零值使用系统默认值。对于通过 Unix 域套接字建立的连接,或者如果禁用了 keepalives,则忽略此参数。它仅在 TCP_KEEPINTVL 套接字选项可用的系统和 Windows 上受支持;在其他系统上,它没有影响。keepalives_count

而且我不确定如何使用这些来模仿?tcpKeepAlive=true...的效果

我想我可以做类似的事情

但我想知道我需要为 、 和 选择x什么yz

0 投票
1 回答
2547 浏览

r - 关闭 R Shiny App 时断开与 PostgreSQL 的连接

诚然,这个问题与这个问题相似,但提供的答案对于我的例子来说是不够的。

我正在创建一个连接到数据库的闪亮应用程序。用户可以提供一些输入,一些“固定”查询将运行。现在,我想确保在退出应用程序时关闭与数据库的连接。我可以使用按钮和stopApp功能,但这假设用户会很好并且总是单击所述按钮。用户有时可能会关闭窗口而使数据库连接保持打开状态,因此我想找到一种在用户关闭应用程序窗口时显式关闭连接的方法。

我想一种解决方案是实例化一个新连接并在每个查询结束时关闭,但这似乎效率低下。

这是一些工作代码来演示该问题。如果我从 Rstudio 运行这个应用程序然后关闭窗口,我仍然有一个现有的连接dbListConnections(PostgreSQL())。附加dbDisconnect(con)到文件的末尾没有帮助。

0 投票
2 回答
1468 浏览

r - 如何使用 R 和 dplyr 从 Redshift 检索超过 100000 行

我正在分析来自 Redshift 数据库的数据,使用每个 dplyr 的连接在 R 中工作 - 它有效:

当我尝试将该输出转换为数据框时,因此:

我收到错误消息,警告消息:

我应该在哪里设置n?

0 投票
1 回答
1918 浏览

r - 从本地机器 R 连接到服务器中的 PostgreSQL 数据库

例如,当您通过 RPostgreSQL 连接到 PostgreSQL 时,我会执行以下操作。

但是如果你想连接到服务器中的 postgreSQL,我不知道该怎么做。我会做以下事情:

这给了我这个错误:

postgresqlNewConnection(drv, ...) 中的错误:RS-DBI 驱动程序:(无法在 dbname "postgres" 上连接 postgres@10.100.100.10

0 投票
1 回答
158 浏览

r - RPostgreSQL-根据ID将列插入另一个表

我使用RPostgreSQL连接R和postgresQL,我想根据“pid”在另一个表中插入一列,请告知如何使用R命令实现:

另一个表格如下:

我希望结果是:

0 投票
1 回答
2332 浏览

r - 在连接到 PostgreSQL 的 Shiny 应用程序中设置数据刷新

我已经查看了这个这个线程以及其他一些线程,但无法找出我的解决方案。

RPostgreSQL我已经使用 R 和 Shiny 构建了一个仪表板,并且说仪表板使用包从 Postgres 数据库中提取数据。目前,所有数据拉取和分析的代码都是在shinyServer函数之外完成的,只有显示部分(outputrender函数)在该shinyServer部分中。我想对其进行设置,以便定期刷新仪表板数据并更新图表。我已经研究reactivePollinvalidateLater理解了它们,但不能完全弄清楚如何在我的代码中实现它。

这是一个简化的示例server.R代码:

现在,如果我想foo定期更新,那也需要我刷新dbGetQuery我拥有的命令,而且我不知道如何让它们一起工作。我是否需要重新格式化并将所有内容放入shinyServer函数中?我有大约 250 行代码,将它们全部放在那里感觉不对,并且仅仅将数据提取部分放在那里可能会打乱事物的顺序。任何帮助表示赞赏。

0 投票
2 回答
12023 浏览

r - RPostgreSQL 无法关闭连接

我有一个闪亮的应用程序,它使用RPostgreSQL. 在应用程序结束时,连接已关闭,应卸载驱动程序,但出现错误,警告我连接未关闭。

代码看起来像这样:

但是,我收到错误消息:Error in postgresqlCloseDriver(drv, ...): RS-DBI driver: (There are opened connections -- close them first)这与 command 一起显示dbUnloadDriver(drv)

当我手动查找打开的连接时,dbListConnections()我会得到一个列表,其中包含最多 16 个与数据库的打开连接。请注意,我只使用dbGetQueryneverdbSendQuery来避免关闭连接。

有任何想法吗?

0 投票
2 回答
1091 浏览

r - R Shiny 使用 .pgpass 打破 PostgreSQL 身份验证

我的数据库密码存储在pgpass.conf文件中。我从 R 连接到数据库RPostgres,没有指定密码,所以它是从 读取的pgpass.conf,如下所示:

它通常工作得很好,但是当我尝试从闪亮的应用程序连接到数据库时它不起作用。连接定义与上面完全相同,放在server.R脚本中。当我使用默认参数运行 Shiny 应用程序时,出现错误:

当连接定义中明确给出密码时:

一切正常。

为了让事情变得更奇怪,当闪亮的端口设置为某个值时,例如:shiny::runApp(port = 4000),在没有指定密码的情况下建立连接,但仅是第一次 - 这意味着当应用程序在同一个 R 会话中关闭并重新打开时,会发生错误再次。

我已经测试了包'RPostgreSQL' - 它也不起作用,只有错误消息不同:

我使用 32 位 R,但我已经在 64 位上对其进行了测试,结果是一样的。Shiny 应用程序在浏览器 (Chrome) 和 Rstudio Viewer 中运行。

这是我的会话信息:

0 投票
3 回答
463 浏览

r - R PostgreSQL - 数据库表中的数据未更新

您好我正在尝试使用 RpostgreSQL 包更新 postgresql 表,R 中的命令已成功执行,但新数据未反映在数据库中。以下是我在 R 中执行的命令

如果我做错了什么,谁能告诉我?非常感谢任何帮助