問題タブ [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 に答える
275 参照

postgresql - 「libpq」を使用して、PostgreSQL の SELECT クエリに含まれるすべてのテーブルを取得します

libpq でクエリされたすべてのテーブルの名前または (Oid の) を取得することは可能ですか? 一般的な標準SQLの方法が存在する場合、私はそれを好みます。

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

c - Julia: Ptr{Void} ファイナライザ エラー

Julia について勉強していて、libpq (PostgreSQL C ライブラリ) ラッパーを書こうとしています。

CPQconnectdb関数は PostgreSQL 接続を開始し、接続構造体へのポインターを返します。接続構造体は、役に立たないため、libpq によって公開されません。接続が終了したら、C 関数を使用して接続を閉じる必要があります。この関数PQfinishは、とりわけ、構造体メモリを解放するように注意します。

したがって、接続がGCによってファイナライズされたときに関数を呼び出す必要があると思いますPQfinish。これは、次のコードの目的です(Juliaバージョン: 0.3.0-744~ubuntu13.10.1):

しかし、私はこのエラーが発生します:

タイプエイリアスに別のタイプを使用する必要があると思いますPGconnが、どのタイプかわかりません。何か案が?

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

c - Postgresql と C のデータ型

Postgresql データ型から C データ型へのマッピングはありますか

この質問に似ています

PostgreSQL と C# のデータ型

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

postgresql - PostgreSQL C ライブラリ (libpq) を使用して HSTORE 列にアクセスするには?

C ライブラリを使用した HSTORE データ アクセスに関するドキュメントが見つかりません。現在、クエリで HSTORE 列を配列に変換することを検討していますが、そのような変換を回避する方法はありますか?

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

sql - PostgreSQL と Libpq - 要件が満たされない場合に行を出力するトリガーを作成する

私は本当にこれについて助けが必要です.それは私の大学のプロジェクトのためであり、私は立ち往生しています.

大きなアイデアは、値の要件が満たされていない場合にユーザーにメッセージを出力し、insert ステートメントを続行できないようにするトリガーをテーブルに作成することです。

クエリをデータベースに送信し、結果があればそれを出力する doSQL(conn, "query") 関数を既に持っています。任意の SELECT、UPDATE、または INSERT はこの関数で問題なく機能しますが、複数行のクエリには問題があります。

たとえば、次のようになります。

at (後の END ではない)ERROR: syntax error at or near "END"を示すというエラーを返します。END IF;この後、トリガーステートメントを作成します

これは機能すると思いますが、関数をいじり続けると、関数が欠落しているとしか言えません。関数の何が間違っていますか?

編集: 要求された doSQL 関数:

いくつかの洗練された名前で申し訳ありませんが、これがあまり問題にならないことを願っています. 助けてくれてありがとう、これは私にとって本当に重要です。

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

c - C変数をSQLコマンドに渡す

私は libpq を使用する初心者で、postgresql データベースで作業しています。

したがって、引用符内に実際の値を指定すれば、C プログラムを使用して postgresql データベースを挿入/更新/etc できます。

コマンドで文字列/整数変数を渡す方法を知りたいですか??

例: 次のコードは、"TRUE" のデフォルト値を含む "comment" という列を既存のテーブル "people" に追加します。ID = 2 の場合、「コメント」の値を「FALSE」で更新する必要があります。

次の出力が必要です。

ただし、次のエラーが発生します。

いくつかの提案を手伝ってください。

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

postgresql - libpq: PGconn 接続が失敗した後にエラー コードを取得する方法

次のコードが与えられます。

接続に失敗した場合に、エラー コードを取得して、間違ったパスワードとサーバーのダウンを区別できるようにする方法はありますか。

(エラーメッセージが表示されることはわかっていますが、エラーの原因に応じてエラーの原因に対応できるようにしたいです)。

ありがとう。

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

c++ - libpqxx を使用してネットワーク接続が失われているかどうかを調べる

インターネット経由で postgreSQL データベースにクエリを実行する C++ クライアント プログラムを作成しています。応答を待っている間にネットワーク接続の問題が発生し、クライアントがデータベース サーバーからメッセージを受信できない場合に、イベントを処理したいと考えています。しかし、インターネット接続を手動でオフにすると、後で接続をオンにしても、プログラムはアイドル状態のままになります。このイベントをキャッチする方法、または少なくともクライアント側でタイムアウトを設定して、その後の応答の待機を停止する方法はありますか?

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

sql - libpq 呼び出しで「UTF8」が返される: 0xe6 0x62 0x40

私は元 Digital Equipment Co のエンジニアです (多数の非常に大きなシステムで Rdb/RTR/VMS を使用しており、C 年間で 10 年間の分散システム処理の経験がありますが、かなり昔のことです)。

問題を診断する際に、このエラーが実際に何を意味するかについてのアドバイスを探しています。これがPostgresのエラーメッセージです

ERROR: invalid byte sequence for encoding "UTF8": 0xe6 0x62 0x40

環境 MAC Maveriks XOS、GNU C、Xcode、Postgres 9.3。(サーバー側)libpqを使用

私はPostgresを初めて使用しますが、Cクエリセットを作成して、ユーザーテーブル、列、データ型、長さ、序数位置に関するすべてのメタデータをPostgresから取得し、それらを自分のカタログのメモリに保持し、すべての単純なユーザーテーブルを生成します動的にクエリします。

このクエリは、クエリ準備呼び出しを通過しました。

防御的に書いて、エラーを2回チェックしました。

これは、生成されたクエリのパーサー ダンプです。

失敗する呼び出しは次のとおりです。

ERROR: invalid byte sequence for encoding "UTF8": 0xe6 0x62 0x40

utc_datetimePostgresYYYY-MM-DD HH:MM:SSが OSI 協定世界時日付を期待する日付形式の問題を乗り越えて、それをフィードしていたところYYYY:MM:DD、この 1 つのエラーが次のエラーになりました。(したがって、Postgresが5番目のパラメーターの問題の日付を出力したため、配列の間接化、インデックス作成などが機能しています)

明らかなパラメーター ダンパーを作成して、何を供給しているかを確認していますが、日付形式を修正したときにエラーが解消されたときに日付が正しいことはわかっています。

UTF8 メッセージは、ファイル名文字列または倍精度フィールドの 1 つから来ていますか?
バイナリを渡すのは悪い考えで、文字列を渡すだけで問題が減る可能性はありますか?

私のスキーマには最終的に 30 個のテーブルがあり、サーバー側でのメモリ アラインメントのこの種のエラーは非常に心配です。私の目標はゼロの SQL コードを書くことです。