問題タブ [dbd-pg]

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 投票する
2 に答える
544 参照

linux - Perl、DBI、および DBD::Pg を使用して別のマシンの Postgre データベースにアクセスできますか?

  • 私のマシン: Linux RHEL 5.5.56 (64 ビット)、Perl 5.8.8。Postgres はこのマシンにはありません。しかし、問題なく Postgres マシンに ping を実行できます。そして、私のマシンは明らかにインターネット上の CPAN から Perl モジュールをインストールできます。
  • 「uname -a」の戻り値: Linux xxx 2.6.18-371.8.1.el5PAE #1 SMP Fri Mar 28 06:00:03 EDT 2014 i686 i686 i386 GNU/Linux
  • 他のマシンには Postgres 8.4 があります。
  • DBIモジュールをインストールして使用するのは初めてです。詳細な初心者向けの指示が必要です。
  • Linux マシンへの root アクセス権があります。
  • 「postgresql-libs.i386」がインストールされているとyumが報告していると思います。`yum インストール | grep postgres` の戻り値: 「postgresql-libs.i386 8.1.23-10.el5_10 installed」

これは私が必要とするものですか?これは私のシステムにあります。

目標: 別のマシンの Postgres サーバーからデータを取得したい。db マシンの db ユーザー名、パスワード、IP を既に持っています。

cpanm を使用して DBI をインストールしましたが、エラーはありませんでした。DBD::Pg をインストールすると、エラーが発生しました。CPAN エラー ログは次のとおりです。

  • 別のマシンの Postgres db からデータを取得することは可能ですか?
  • これを行う方法に関する指示へのリンクを持っている人はいますか? 私はすでにグーグルで検索し、CPAN、Stackoverflow、および Perlmonks に関する情報を読んでいますが、結果はありません。
  • http://dbi.tiddlyspot.com/のFAQ には、DBD::Pg のインストールに固有の情報はありません。
  • Postgres を yum 経由でインストールすると、インストールによってライブラリなどのファイルが上書きされますか? もしそうなら、どれですか?このマシンで使用する他のアプリケーションがあります。

これが機能するようになったら、最初のステップは、DBI ドライバーに関する非常に基本的な情報を表示することです。次のステップは、SELECT ステートメントで 1 つのテーブルからいくつかのフィールドを表示することです。

数百万のレコードを返すつもりはありませんが、100 のレコードを返すことは確かに大まかな範囲内です。

ありがとうございました!

0 投票する
2 に答える
228 参照

perl - 次のコードでコミットする必要がありますか?

私のコード:

警告は次のとおりです。

171行目以降に「$dbh->commit()」を追加すると、上記のワーニングが消えました。

171 行目の後に「$dbh->commit()」を追加せずに「$hfpDbh->disconnect();」を呼び出した場合 140行目で、上記の警告も消えました。

私の質問は次 のとおりです。警告は、コミットされていないトランザクションがあることを意味しますか? そのため、警告を修正するには、明示的にコミットまたは切断する必要があります。ただし、コードには SELECT 操作しかありません。私は何が欠けていますか?

ありがとう。

0 投票する
1 に答える
785 参照

ruby - RubyでpostgresQLに接続できません

アーカイブを検索しましたが、私のジレンマに対する答えが見つかりませんでした。Ruby でコーディングしており、ローカルの Mac Yosemite で watir webdriver フレームワークを使用しており、Linux ボックスで postgres データベースに接続したいと考えています。

必要な ruby​​ gem をローカル Mac にインストールしました

* 地元の宝石 *

  • dbd-pg (0.3.9)
  • ページ (0.18.4)
  • dbi (0.4.5、0.4.4)

次のコードを使用しています。

これを実行すると、これらのエラーが発生します

コードを使用する場合

エラーが発生します

私はRubyが初めてです。これらの問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
191 参照

perl - EV コールバック内で Perl の longjump のようなものを作成することは可能ですか?

非同期環境で同期制御フローをエミュレートしようとしています。

目的は、コールバックや要求時のブロックなしで DB 要求をサポートすることです。

モジュールを使用しようとしていCoroますが、完全には理解できていないようです。

コード スニペットは次のとおりです。

テストコードは次のとおりです。

完全なモジュールとテスト スクリプトはこちらDBIx::PgCoroAnyEventとこちら01_sleeps.t

誰かが見て、何が悪いのか説明してもらえますか?

0 投票する
0 に答える
1043 参照

postgresql - DBD::Pg は、データの挿入時に UTF8 文字を二重エンコードします

DBD::Pg を使用して UTF8 文字列を PostgreSQL に挿入しようとしていますが、データベースでは常に二重にエンコードされた UTF8 を取得します。挿入する文字列が Latin1 の場合にのみ、DB で正しい文字を取得します。

DBD::Pg に、すでに UTF8 になっている文字列を再エンコードしないようにするにはどうすればよいですか?

テスト スクリプト:

いくつかのテスト後の結果のテーブル:

(これは、DBD::Pg バージョン 3.5.3 を使用した Ubuntu 16.04 にあります。Ubuntu 12.04 にインストールされた DBD::Pg バージョンでは、この問題は発生しませんでした)

0 投票する
0 に答える
238 参照

postgresql - 1 つのシステムで DBD::Pg を使用して異なるバージョンの Postgres に接続するにはどうすればよいですか

私のプロダクション システムでは Postgres 9.3 と Perl を使用しています。すべてが機能することを確認するために、同じ Perl スクリプトを実行したいテスト Postgres 10.3 データベースがあります。

データベースへの接続にPerlDBIを使用しています。DBD::Pg何が使用されているかを常に把握できるように、クライアントとサーバーのバージョンをスクリプトに記録しています。

本番システムでは、ログに次のように表示されます。

テスト バージョンに対して同じスクリプトを実行すると、次のように表示されます。

DBD::PgPostgres 10 ライブラリを使用するにはどうすればよいですか? DBD::Pg最初に Postgres ライブラリをインストールしたときに、いくつかの Postgres ライブラリを構成する必要があったことを覚えています。に複数の構成を設定できますDBD::Pgか? 私は Perlbrew を使用しているので、それを使用して別のバージョンの Perl をセットアップし、すべてのモジュールを別のバージョンに再インストールできます。それは苦痛ですが、可能です。

編集: ここでのポイントは、実稼働の Postgres 9.3 システムと同期する必要があるテスト システムを台無しにすることなく、純粋な Postgres 10.3 環境をテストしたいということです。1 台のマシンで異なるクライアントを使用できない場合は、新しいテスト システムをセットアップする必要があります。