
現在PostgreSQLとPHP5を利用してアプリケーションを開発しております。
PHPにて現在すでに存在するPostgreSQLのテーブルの定義情報を取得するにはどうすればよろしいでしょうか。テーブルの定義情報は下記のようにSQLのCREATE文で取得したいと思っております。
CREATE TABLE favorite
(
code serial NOT NULL,
reg_date timestamp without time zone NOT NULL DEFAULT now(),
update_date timestamp without time zone,
title text,
url text,
u_id character varying(20) NOT NULL,
enabled_flag smallint NOT NULL DEFAULT 1,
CONSTRAINT web_favorite_pkey PRIMARY KEY (fv_code)
)
何卒よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
よく質問を読みましたら、「PHPで」ということですね。
大変失礼致しました。(1)pg_meta_data関数を使うか、PostgreSQLのシステムカタログを直接
参照するかでクエリを返し、PHPでSQL文の形に整形する。
(2)pg_dumpのバッチファイルを作っておいて、
system()とかで実行し、できたファイルをPHPで読み込む。
くらいしか思いつきません。
この回答への補足
なるほど、ありがとうございます。
pg_dump XXXXXXX -t web_blog -s > /tmp/dump.sql
で無事テーブル構造を出力することができました。
私はpg_adminというwindowsのPostgreSQL管理ソフトを使っているのですが、テーブルの情報表示のところにcreate文でテーブル構造が表示されます。
ですので、PostgreSQLの機能でテーブルの構造をcreate文で出力する機能が実装されているのではないかと思っているのですが、何か、ご存知のことがあれば教えていただければ幸いです。
No.3
- 回答日時:
PgAdminIIIでしたら、C++のソースがありますので確認できます。
http://www.postgresql.org/ftp/pgadmin3/release/v …
から、
pgadmin3-1.6.3.tar.gz
を落としてこれます。
pgadmin3-1.6.3/src/dlg/dlgTable.cpp あたりでしょうか?
地道にテーブルやカラム、制約などの情報をそれぞれ取得してきて、プログラムで、CREATE文を整形していますね。
ありがとうございます。
CREATE文を直接取得せずに、情報から生成しているんですね。
残念ながら私はCは詳しくないのですが参考になりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10がインストールできま...
-
エクセルで縦のカラムデータを...
-
Ophcrackについて
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
-
python3.12のインストール方法
-
Pythonで2つのデータ(キー無し...
-
数値が定期的にあらわれる文字...
-
終端クォート ' が必要です と...
-
PostgressからMySQL(MariaDB)...
-
【PostgreSQL】行の値の並びを...
-
列が存在しないと言われる
-
PostgreSQL14.6のSSL対応について
-
ポストグレにあるExcelファイル...
-
PostgreSQL レコードからアイテ...
-
文字切り替えの時に 中央にでる A
-
postgreSQL カラムの全ての値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLServerでテーブルの列数を求...
-
SQLManagementStudioのフィルタ
-
システムテーブルについての疑問
-
PostgreSQLで外部DB内のテーブ...
-
主キーの取得
-
テーブル定義(Foreign Key)の...
-
照合順序の変更について
-
ポスグレ レコードの比較
-
SQLサーバーとMySQLの大きな違...
-
【PostgreSQL】行の値の並びを...
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
ACCESSのSQLで、NULLかNULLでな...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
オラクルではできるのにSQLSERV...
-
SI Object Browserのテーブルス...
-
Accessにインポートしたら並び...
-
Access VBA [リモートサーバー...
-
SQL Server のデータをCSVファ...
おすすめ情報