2

PostgreSQL データベースは初めてです。私のビジュアル C++ アプリケーションで行う必要があるのは、複数のテーブルを作成し、そこからデータを追加/取得することです。

アプリケーションの各セッションで、新しい個別のデータベースを作成する必要があります。一意のデータベース名に現在の日付と時刻を使用できます。

すべてのデータベースを削除するオプションも必要です。

データベースに接続し、テーブルを作成し、テーブルにデータを追加する方法を理解しました。実行ごとに新しいデータベースを作成する方法や、ユーザーがすべてのデータベースをクリアしたい場合にデータベースの数と名前を取得する方法がわかりません。

助けてください。

4

1 に答える 1

3

ドキュメントの libpq の例を参照してください。サンプル プログラムは、データベースを一覧表示する方法と、一般にデータベースに対してコマンドを実行する方法を示しています。そこにあるコード例は、データベースの作成と削除に適応するのは簡単です。

CREATE DATABASEデータベースの作成は、他の libpq 操作と同様に単純なSQL ステートメントです。一時データベース (通常はtemplate1) にCREATE DATABASE接続して .

新しいデータベースを作成する代わりに、新しいスキーマを作成することを検討してください。テーブル参照の or プレフィックスを変更するだけなので、search_pathスキーマを変更するために切断して再接続する必要はありません。スキーマに関するドキュメントを参照してください。

しかし、あなたのデザインの知恵には疑問があります。アプリケーションがデータベース (または一時テーブルを除くテーブル) を通常の操作の一部として作成および削除することは、あまり良い考えではありません。これを行う理由を詳しく説明していただければ、現在のアプローチよりも簡単でパフォーマンスの高いソリューションを考え出すことができます。

于 2012-07-25T23:58:38.653 に答える