
いつもお世話になっております。
インターネットサーバー上のPHPから
postgreSQLのデータベース内の
テーブル名とシーケンス名のリストを
SELECTを使ったSQL文にて取得したいのです。
テーブルリストは、
select * from pg_tables
where not tablename like 'pg%' order by tablename;
で取得できましたが、
シーケンス名のやり方がわかりません。
phppgadminでシーケンスの表が表示できるので、
phpでも出来ると思うのですがわかりません。
お知恵をおかしください。
hiroko
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
質問者さんを差し置いて、回答者同士で会話するようで申し訳ないです。
(汗)> ただ、個人的には pg_statio_all_sequences などは統計情報を取得するためのビューなのでシーケンスの一覧を取得するのに参照するのはちょっと気持ち悪いです。
あーそうなんですか。それは知りませんでした。
というか、ずーっと以前から「statio」ってなんなんだろうなあ、って思っていて、なんとなく「status I/Oかな?」って思っていたんですが、statisticsだったのですね!
やっとナゾが解けました。勉強になりました。
そうか、statisticsの略だったのか。。。やっとスッキリした。。。
No.2
- 回答日時:
回答番号: No.1 の annyG さんの回答で問題ないです。
ただ、個人的には pg_statio_all_sequences などは統計情報を取得するためのビューなのでシーケンスの一覧を取得するのに参照するのはちょっと気持ち悪いです。揚げ足を取る気はないので気分を害したらすみません。
通常、シーケンスの一覧を取得する場合には情報スキーマの sequences を参照するか、
SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = 'スキーマ名';
システムカタログの pg_class を参照するのが一般的かと思います。
SELECT relname FROM pg_class AS c JOIN pg_namespace AS n ON (c.relnamespace = n.oid) WHERE c.relkind = 'S' AND n.nspname = 'スキーマ名';
CREATE SCHEMA でスキーマを定義しておらず、明示的にシーケンスの作成先のスキーマを指定していない場合には、ユーザの作成したシーケンスはスキーマ public に含まれます。条件にスキーマ名を指定しなければシステムのシーケンスを含めてすべてのシーケンス名を取得できます。
phpPgAdmin のソースコードを読んでいないので何とも言えませんが、おそらく pg_class を参照していると思います。
参考URL:http://www.postgresql.jp/document/pg826doc/html/ …
回答ありがとうございます。
さっそく
pg_class のrelname を参照したところ、
シーケンスリストの取得をする事ができました。
ほんとうにありがとうございました。
hiroko
No.1
- 回答日時:
pg_statio_user_sequences
というビューがあります。
システムが使っている物を見たいときには
pg_statio_sys_sequences
両方は
pg_statio_all_sequences
ちなみにインデックスは
pg_statio_user_indexes
テーブルも
pg_statio_user_tables
のほうがいいように思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- PostgreSQL SQLで検索結果の記事を表示したい 1 2022/04/28 21:03
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Server2008のクエリの書式...
-
DBをまたいで更新
-
PostgreSqlシステムカタログを...
-
access2000からPostgresSQLのテ...
-
PostgreSqlのシステムスキーマ...
-
hp z200 sffというパソコンな...
-
Excelでしりとりを作る方法
-
エクセルで去年のデータを今年...
-
Java環境で使用するAccessデー...
-
SQLローダーについて
-
'modify' 付近に不適切な構文が...
-
フラグをたてるってどういうこ...
-
【Access】SQL文教えてください!
-
SQL文はなぜ「作成」ではなく「...
-
C#にVBにあるビジュアル データ...
-
ExcelVBAで複数のコマンドボタ...
-
【ExcelVBA】範囲選択の方法に...
-
たぷる・・・初学者 Python 4
-
自己結合による新しいカラムの作成
-
HTMLソースの検索について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベース ユーザの「このユ...
-
dumpでインデックスだけ抜きたい
-
ACCESSにおいてスキーマとは
-
全テーブルの列数を調査したい
-
DB2でテーブルのサイズを見たい
-
認知心理学で言うスクリプトとは?
-
PostgreSqlのシステムスキーマ...
-
ORACLEのスキーマーを別のORACL...
-
SQL ServerのXMLスキーマがうま...
-
カラムサイズの取得
-
FROM句のスキーマ名、テーブル...
-
PostgreSqlシステムカタログを...
-
EBCDICとCCSIDの違いとは
-
DBをまたいで更新
-
スキーマ定義とは一体どう言っ...
-
access2000からPostgresSQLのテ...
-
アクセスのレポートの表示順
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
おすすめ情報