問題タブ [libpq]

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 に答える
483 参照

c - Postgresqlデータベースから画像ファイルを取得すると、挿入された2倍のデータが返されます(libpqライブラリによって)

Postgresqlデータベースのlibpqライブラリを使用していますが、dbからbyteaデータを取得する際に問題が発生します。問題を解決できなかったので、お聞きしたいと思います。画像ファイルをdbに挿入して取り戻そうとすると、返されるデータのサイズは常に送信したデータの2倍になります。実際には、正確な方程式は次のとおりです。取得データ=送信データ* 2 + 2.(バイト単位)。だから、私はまだそれを理解することができませんでした、私はおそらく何かが欠けています:/

私が使用するサンプルコードは次のようなものです:

皆さんが私を助けてくれたらありがとう。私はその理由を探すのにひどく退屈しています。

前もって感謝します。

編集:ディスクに保存されているデータを追跡しましたが、挿入されたデータのサイズは同じです(58573バイト)。取得中に2倍のデータになります...

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

ruby-on-rails - Ruby on Rails / PostgreSQL - サーバーの起動時にライブラリがロードされていないというエラーが発生する

へー。この質問が別のスレッドで回答されている場合は、事前にお詫び申し上げます。サイトを検索しましたが、答えが見つかりませんでした。ただし、最も関連する問題はRuby on Rails / PostgreSQL - Library not Loaded error when starting server- libq.5.dylib でしたが、解決されず、答えが役に立ちません。

Mac OSX 10.6.8 で PostgreSQL を実行しようとしています。Ruby 1.9.3p392 と Rails 3.2.13 が既にインストールされています。

私は 10.6.8 で、PostGresApp には 10.7 以降が必要なので、ここで入手できる手動インストーラー (v9.2.3) を使用して PG をインストールしようとしました: http://www.enterprisedb.com/products-services-training/pgdownload

最初に、/Library/PostgreSQL/9.2/ のデフォルト パスにインストールしました。次に、pg gem ( PATH=$PATH:/Library/PostgreSQL/9.2/bin sudo gem install pg) をインストールしました。ローカルホストを起動しようとrails sすると、以下のエラーが発生しました。

いくつか読んだ後、パスエラーである可能性があると推測したため、pg gem を削除してから、postgresql アンインストーラーを使用しました。次に、pg を /users/stewartmccoy/Library/PostgreSQL/9.2/... に再インストールし、pg gem を再インストールしました。しかし、私はまだ同じエラーが発生します。

PostgreSQL を正しくインストールして Rails サーバーを稼働させる方法について何か考えはありますか?

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

c - 簡単な例で大量のメモリを使用するLibpq

次のコードが実行に 1.2GB のメモリを使用するのはなぜですか? generate_series に渡される数値に関係なく、メモリ使用量は比較的一定であると予想していましたが、着実に増加しています。お願いします - 私が何か間違ったことをしていると教えてください!

この例の完全なソース コードは、pastebinに置きました。

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

c - 静的文字配列を使用したヘルパー関数の作成

PostgreSql C ライブラリを使用しており、関数を使用してポインタlibpqから値を取得できます。PGresultPQgetvalue

printf現在、10 ~ 20 列のテーブルがあり、簡単な呼び出しでそれらを印刷したいと考えています。

関数を使用してロードされた文字列はどこresAにありますか。さて、このアプローチでは 10 ~ 20 個のポインターを宣言する必要があり (単一の printf で出力したい場合)、次のような単純なものを使用するつもりでした。resBPGgetvalue

そして、次のように呼び出しますprintf

ただし、printf関数の出力は、呼び出しで以前の文字列を (念のために) 削除したにもかかわらず、すべてのgetField呼び出しがデータベースから最初に要求されたもの (この場合はフィールドの値) を返していることを示しています。Amemset

どこが間違っていますか?私のコードの何か、またはすべての getField 呼び出しが同じメモリへのポインターを返すと仮定した gcc であるため、実際には複数回呼び出していません。

または、printf関数は最初にすべてのパラメーターを (逆の順序で) 評価してから、実際に関数を呼び出していますか? これが事実である場合(そして私はそうであるに違いない)、私が試みていることを達成するためのより簡単なパターンはありますか?

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

c++ - libpq VS qpsql (postgre 用 QT ドライバー)

Postgresql接続ヘッダーとクラスを作成するために、QT 4.8とQT Postgresqlドライバーを使用してきましたが、最終的にそれを完了したとき、上司はそれを忘れてネイティブlibpqで再作成するように言いました...彼は、ヘッダーを使用するプログラムが存在する場所のアイデアとして QT を使用しています。プログラム的には、パラダイムを組み合わせるのは良い考えではありませんが、まあ...私は彼が言うようにやっています。そう!私が知りたい本当の質問は...これら2つを使用することの主な違いは何ですか? (一方が c で、もう一方が c++ であることを除いて)

つまり、プログラムの効率、パフォーマンス、サイズ、およびデータの種類の観点からですか? また、データベースへの接続が変更された可能性があります。ありがとう

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

c - ポインタを返す関数への未定義参照

PostgreSQL データベースに接続するためのヘッダーを作成する libpq 関数を独自の関数にカプセル化していますが、そのうちの 1 つで、タイプ PGconn のポインターを返すと思われるタイプのエラーが発生します...

ConexionPostgres.c:32:6: aviso: la asignación crea un puntero desde un entero sin una conversión [activado por defecto] /tmp/ccCeaewL.o: In functionmain ': ConexionPostgres.c:( .text+0x86): undefined reference toセットBD'

プロトタイプのせいだと思ったので、プロトを変更してメインの直前に定義を置きましたが、何も...何が起こっているのか誰か教えてもらえますか?

Postgres libpq のドキュメントと libpq-fe.h を直接チェックしてプロトを確認しているので、何も欠落していませんが、混乱しています。これが私のコードです:

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

c++ - スタティック ライブラリとして libpq を使用する LNK2005

静的ライブラリ (tinyxml2、sqlite3、openssl、libpq を含む) を介してすべてのサードパーティ コードをリンクするアプリケーションを作成しています。libpqd.lib にリンクしようとするたびに、すべてが正常に機能しています - 9.1.9 と 9.2.4 のソースを使用しました - 私は取得しています:

これが唯一のエラーで、これまでの検索は無駄でした。すべてのライブラリでマルチスレッド デバッグ ランタイム ライブラリを使用していることに注意してください/MTd。これは、postgresql にはデフォルトではありません。以前は構成できなかった/MTdandの代わりに andを使用するように、手動で win32.mak にパッチを適用しました。これにより、以前のリンカー エラーがいくつか解決されましたが、以前から存在していたため、この最後のエラーに関連しているとは思われません。/MT/MDd/MD

次の方法で libpq をコンパイルします。

そして、次の方法でリンクします。

ライブラリ ディレクトリはプロジェクト内で構成され、ライブラリはこのフォルダーにコピーされるため、使用されている正しいフォルダーであることがわかります。

これは通常、簡単に解決できるエラーですが、もうどこを見ればよいかわかりません。

postgresql サイトにはこれに関するスレッドが存在しますが、解決されていないようです: http://www.postgresql.org/message-id/39E6FC4547C24F9884435E23698B11DC@HIRO57887DE653

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

postgresql - Psycopg2 Python アプリのデプロイの問題

私のコンピューターでテストされ、完全に動作する Python でアプリケーションを作成しました (Mac OSX 10.8.3 Python2.7.3 Postgresql9.2.4 Psycopg2-2.5)。アプリは py2app を使用してコンパイルされており、ビルドによってすべてのパッケージ/モジュールがアプリケーションのコンテンツ フォルダーに正常に含まれていることがわかります。

Psycopg2 は私のマシンに正しくインポートされ、アプリは正常に動作しますが、アプリケーションが別のコンピューターで実行されると (私は 4 つの異なるコンピューターを試しました...)、開くことができず、コンソール メッセージに ImportError: dlopen(/ Applications/app.app/Contents/Resources/lib/python2.7/psycopg2/_psycopg.so、2): ライブラリがロードされていません: libpq.5.dylib

SOとGoogleでコードを広範囲に検索して変更しましたが、役に立ちませんでした。psycopg2 リンクも、特にこの問題に対処していません。http://initd.org/psycopg/articles/2010/11/11/links-about-building-psycopg-mac-os-x/

ソース、macports、自作などからビルドして、psycopg2とpostgresqlを何度も削除して再インストールしました。現在の環境は上記にリストされており、postgresql 9.2.4が自作でインストールされ、psycopg2-2.5がソースからインストールされ、pg_configの場所を明示的にリンクしていますsetup.cfg で

_psycopg.so で otool -l を実行すると、次のようになります。

ビルドされたアプリケーションにこれらのファイルを含める (または利用可能な場合はターゲット ユーザーにファイルを参照させる) にはどうすればよいですか? これは正しいアプローチですか?もちろん、Py2app は /usr/lib/ のシステム ファイルを "frameworks" オプションに含めません。