问题标签 [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.
performance - PostgreSQL - 如何减少选择语句执行时间
- 我的 Postgres 版本:“PostgreSQL 9.4.1,由 Visual C++ build 1800 编译,32 位”
- 我要处理的表;包含列
- eventtime - 没有时区的时间戳
- 序列号 - 字符变化(32)
- sourceid - 整数
和其他 4 列
这是我的选择语句
上述查询的执行时间为 59647ms
在我的 r 脚本中,我有 5 个此类查询(执行时间 = 59647ms*5)。如果不使用时区“CET”,执行时间会非常少 - 但在我的情况下,我必须使用时区“CET”,如果我是对的,那么高执行时间是因为这些时区。
我的查询计划
文字查询
解释分析查询(无时区)
无论如何我可以减少我的选择语句的查询执行时间
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
什么y
值z
?
r - 关闭 R Shiny App 时断开与 PostgreSQL 的连接
诚然,这个问题与这个问题相似,但提供的答案对于我的例子来说是不够的。
我正在创建一个连接到数据库的闪亮应用程序。用户可以提供一些输入,一些“固定”查询将运行。现在,我想确保在退出应用程序时关闭与数据库的连接。我可以使用按钮和stopApp
功能,但这假设用户会很好并且总是单击所述按钮。用户有时可能会关闭窗口而使数据库连接保持打开状态,因此我想找到一种在用户关闭应用程序窗口时显式关闭连接的方法。
我想一种解决方案是实例化一个新连接并在每个查询结束时关闭,但这似乎效率低下。
这是一些工作代码来演示该问题。如果我从 Rstudio 运行这个应用程序然后关闭窗口,我仍然有一个现有的连接dbListConnections(PostgreSQL())
。附加dbDisconnect(con)
到文件的末尾没有帮助。
r - 如何使用 R 和 dplyr 从 Redshift 检索超过 100000 行
我正在分析来自 Redshift 数据库的数据,使用每个 dplyr 的连接在 R 中工作 - 它有效:
当我尝试将该输出转换为数据框时,因此:
我收到错误消息,警告消息:
我应该在哪里设置n?
r - 从本地机器 R 连接到服务器中的 PostgreSQL 数据库
例如,当您通过 RPostgreSQL 连接到 PostgreSQL 时,我会执行以下操作。
但是如果你想连接到服务器中的 postgreSQL,我不知道该怎么做。我会做以下事情:
这给了我这个错误:
postgresqlNewConnection(drv, ...) 中的错误:RS-DBI 驱动程序:(无法在 dbname "postgres" 上连接 postgres@10.100.100.10
r - RPostgreSQL-根据ID将列插入另一个表
我使用RPostgreSQL连接R和postgresQL,我想根据“pid”在另一个表中插入一列,请告知如何使用R命令实现:
另一个表格如下:
我希望结果是:
r - 在连接到 PostgreSQL 的 Shiny 应用程序中设置数据刷新
我已经查看了这个和这个线程以及其他一些线程,但无法找出我的解决方案。
RPostgreSQL
我已经使用 R 和 Shiny 构建了一个仪表板,并且说仪表板使用包从 Postgres 数据库中提取数据。目前,所有数据拉取和分析的代码都是在shinyServer
函数之外完成的,只有显示部分(output
和render
函数)在该shinyServer
部分中。我想对其进行设置,以便定期刷新仪表板数据并更新图表。我已经研究reactivePoll
并invalidateLater
理解了它们,但不能完全弄清楚如何在我的代码中实现它。
这是一个简化的示例server.R
代码:
现在,如果我想foo
定期更新,那也需要我刷新dbGetQuery
我拥有的命令,而且我不知道如何让它们一起工作。我是否需要重新格式化并将所有内容放入shinyServer
函数中?我有大约 250 行代码,将它们全部放在那里感觉不对,并且仅仅将数据提取部分放在那里可能会打乱事物的顺序。任何帮助表示赞赏。
r - RPostgreSQL 无法关闭连接
我有一个闪亮的应用程序,它使用RPostgreSQL
. 在应用程序结束时,连接已关闭,应卸载驱动程序,但出现错误,警告我连接未关闭。
代码看起来像这样:
但是,我收到错误消息:Error in postgresqlCloseDriver(drv, ...): RS-DBI driver: (There are opened connections -- close them first)
这与 command 一起显示dbUnloadDriver(drv)
。
当我手动查找打开的连接时,dbListConnections()
我会得到一个列表,其中包含最多 16 个与数据库的打开连接。请注意,我只使用dbGetQuery
neverdbSendQuery
来避免关闭连接。
有任何想法吗?
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 中运行。
这是我的会话信息:
r - R PostgreSQL - 数据库表中的数据未更新
您好我正在尝试使用 RpostgreSQL 包更新 postgresql 表,R 中的命令已成功执行,但新数据未反映在数据库中。以下是我在 R 中执行的命令
如果我做错了什么,谁能告诉我?非常感谢任何帮助