問題タブ [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.
r - Rで利用可能なpostgresqlライブラリの違いは何ですか?
私はpostgresql
分析の一部に使用していますが、これまで R でRPostgreSQL
ライブラリを使用してきました。
最近のチェックの後、私はそれを発見しました
- まだ CRAN にある間、ソースは google.code の変更の一部として削除されている最中です。最終更新は 2014 年のいつかです (ただし、CRAN のバージョンは 3 年前です)。
- 「公式」ソース ライブラリがどこにあるのかを示す兆候は見つかりませんでした (一方、github にはさまざまなバージョンがありますが、どれが「公式」のものかを理解するのは困難です)。
RPostgres
ブラウジング中に、Hadley Wickham によるパッケージを発見しました(それ以上です!)。より高速であると説明されていますがRPostgreSQL
、一方で成熟しているようには見えません。最新のアップデートが 2015 年 2 月に行われたことは心強いことです。
「GitHub rpostgresql tomoaki」に関する Google での調査は役に立ちませんでした。Google コードから GitHub にソースをコピーした人がたくさんいて、Tomoaki のページを見つけることができませんでした。
次のことを知っている人はいますか?
RPostgreSQL
まだ積極的に維持されていますか?- 公式の情報源はどこにありますか?
RPostgres
また、との違いは何RPostgreSQL
ですか?
r - RPostgreSQL - データフレームをテーブルにインポートする
完全なデータフレームを、データベース (postgresql) に既に作成されており、同様のデータを含むテーブルにエクスポートしたいと考えています。
dbwrite テーブル (....overwrite = TRUE) について説明する質問がいくつか見つかりました。テーブルに既に存在するデータを上書きしたくありません。rコンソールからのデータフレームでテーブルを更新したいだけです。
誰かが私にこれを行う方法を教えてもらえますか..
このようなもの
r - Postgresql - ループを利用する (または r に適用する) 方法で、r スクリプトのサイズを小さくする方法
データベースに 2 つのテーブルがあります。両方のテーブルの列とそのデータ型を以下に示します。両方のテーブルに 3 台のマシンのデータが格納されているとします。各マシンには 2 つの s_id があり、それらを使用して特定のマシンの必要なデータを選択します。
各マシンの s_id は
以下のスクリプトを使用すると、目的の結果が得られます。
ライブラリ(RPostgreSQL)
私はプログラミングのバックグラウンドを持っていないので、マシンごとに上記の完全なクエリステートメントを使用しています
私の場合、マシンごとにクエリを使用する代わりに、ループを使用することは可能ですか。1 つのクエリですべてのマシン データを取得できるようにします。
誰かが私の例でこれらを行う方法を教えてもらえますか? 実際には、6 つの個別のスクリプトを実行する必要があり、各スクリプトには 3 つの異なるマシンのデータが必要です。
r - SSL を使用して Postgres への dbConnect を作成できません
SSL を必要とする Postgres-9.4 サーバーを実行しています。ラップトップから pgadmin または Windows odbc 接続を使用して Postgres サーバーに接続すると、SSL で動作します。ただし、SSL を使用して R に接続しようとすると失敗します。
非 ssl 接続を許可するように pg_hba.conf を設定すると、これは機能します。SSL接続のみを許可するように設定すると、これは失敗します。残念ながらオプションdbConnect
がないverbose
ので、それ以上のものはありませんcould not connect postgres@192.168.1.179 on dbname "postgres"
私は正しいことをしていることを示唆しているように見えるこの質問を見つけましたが、行きません。
編集:
さらに掘り下げたところ、さまざまなライブラリ/dllの問題により、これがWindowsでは機能しないことを示唆するこのディスカッションが見つかりました。その議論は現時点で数年前のものなので、おそらく解決されています。Linux から上記を実行するとうまくいくことを確認できます。
r - Mac 10.11.3 で RPostgreSQL を使用して R を Redshift に接続する
【原文】
同様のSOの質問をいくつか見ましたが、OSに関連するものはないと思います。
簡単に言うと、これは Redshift への SSL 接続を確立しようとしたときに表示されるものです。
私は次のことを試しましたが、どれもうまくいきませんでした。
- R を使用して SSL 経由で Redshift に接続する
- PostgreSQL から R へのファイルのインポート
- R を使用して SSL 経由で Postgres に接続する
- 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 とすべての関連ファイルをアンインストールしてから、homebrew から R を再インストールしようとしました。
同じエラー メッセージ:
参考までに、同じコードを使用して他の非 SSL Redshift クラスターに接続できるため、Mac の openssl に関連するものである可能性があります。
【2016/02/11更新】
@MasashiMiyazaki のコメントからの詳細情報:
psql
CLI経由で接続して使用しましたが、正常に動作します。さらに、Python モジュールを使用して正常に接続することもできますpsycopg2
。ただし、機能させるには、次の行を無効にする必要があります。.bash_profile
r - postgreSQL (Redshift) データベースの「ビッグ」データで tidyr (または同様のデータ ラングリング) を使用する方法
12 ノードの redshift クラスターに 40 億行のデータがあります。Rpostgreqsql パッケージを使用して正常に接続し、dplyr を使用して基本的なデータ ラングリングを行うことができました。
ただし、通常は reshape2 (dcast) または tidyr (spread) を使用して行うデータの再形成を行いたいと考えています。どちらのパッケージもデータベース オブジェクトで実行されないことがわかりました。「収集」を実行できますが、そのデータフレームが大きすぎてメモリに収まらないため、問題が発生します(したがって、DBで実行したい理由です)。私の全体的な目標は、プロセスで 0/1 フラグを作成しながら、dcast/spread を使用してデータを広くすることです。これは、私のマシンではデータの小さなサンプルではうまく機能しますが、DB ではうまく機能しません。
以下は、私が取り組んでいる私のコードです。DB に接続し、dplyr で基本的なフィルタリングを行います。tidyr/reshape2 を使用しようとすると、R は「型が認識されない」という構文エラーをスローします。
r - データベースから大きなファイルを日付で分割する
データベース (test1) からビッグ データ ファイルを読み込んでいます。Rで直接読み取ったり処理したりできない何百万もの行。
この大きなファイルから、列「ホロダゲ」をもとにサブファイルを作成したいと考えています。大きなファイルから 1 つのファイルを抽出する例を以下に示しましたが、これら 2 つの日付の間だけでなく、すべてのファイルに対して実行したいと考えています。
分割は、この日付 "23/03/2005 11:00" から始まり、大きなファイルの終わり (およそ "31/12/2005 23:59" (データベースからの test1) 前後) まで続く必要があります。 1 つのサブファイルは 30 分である必要があります (つまり、サブファイルあたり正確に 36000 行)。
各サブファイルは、(A200503231100.dat、A200503231130.dat、A200503231200.dat、A200503231230.dat など...) のような名前で保存する必要があります。
コラムホロダゲのフォーマットはすでに
私が始めたコードは次のとおりです。
この大きなファイルに対して実行するループについての洞察があれば、非常に役に立ちます。
r - Shiny アプリの PostgreSQL 接続のキープアライブ機能は?
データベースへの接続とアドホックなデータのクエリを利用するshiny
アプリがあります。RPostgreSQL
このコードはアプリの初期化時に実行されますが、しばらくするとサーバーによって接続が終了されます。
私が単に呼び出すと:
繰り返しますが、2番目の接続が作成されます:(そして、私はそれを望んでいません)
(最終的に、接続の最大数に達し、別の接続を作成できなくなります: https://groups.google.com/forum/#!topic/shiny-discuss/0VjQc2a6z3M )
PostgreSQL データベースに接続する関数を作成し (まだ接続されていない場合)、次の場合は接続を開いたままにします (1 を選択することにより)。
EDIT 2016/03/12:理由はわかりませんが、上に書いた関数が正しく動作していないようです...
それを呼び出すと、次のようになります。
特に、この部分は以下をdbGetQuery(.sql$cxn, "SELECT 1")
返します。
そして、class
この出力の はNULL
(エラーではなく?) です。
私が間違っていることはありますか?ありがとう!