ほとんどのデータベースは標準化されたINFORMATION_SCHEMA
を提供しますが、他のデータベースも提供します。
pg_catalog
です。MySQLは INFORMATION_SCHEMA
以外のものを公開しますか?具体的には、この質問は、たとえばデータベースにあるすべてのGIS関数を示す pg_catalog.pg_proc
のように、内部関数の解決を担当するテーブルがあるかどうかを調べることから発想を得ました。 MySQLの場合は、このコメントに対処できます。 しかし、それはさておき、INFORMATION_SCHEMA
以外のものがあるかどうかを知りたいだけです。 それが問題です。
あなたがこれを尋ねたのはおかしいです。 7年以上前(Jul 11, 2011
)、私は投稿に答えました INFORMATION_SCHEMA.TABLESのTABLE_CATALOG列のポイントは何ですか? 。
私が言及しているのは、MySQLがSQL-92と互換性を持たせようとしているのに対し、PostgreSQLはinformation_schemaを実際に使用していることです(接続したデータベースにローカライズされているか、「折りたたみは自動的に行われます」という投稿で述べています)。
オープンストレージエンジンインフラストラクチャにより、MySQLの機能の公開により、独自の機能をインストールできます。たとえば、 ドキュメントにはこれがあります :
mysql> CREATE FUNCTION metaphon RETURNS STRING SONAME 'udf_example.so';
mysql> CREATE FUNCTION myfunc_double RETURNS REAL SONAME 'udf_example.so';
mysql> CREATE FUNCTION myfunc_int RETURNS INTEGER SONAME 'udf_example.so';
mysql> CREATE FUNCTION sequence RETURNS INTEGER SONAME 'udf_example.so';
mysql> CREATE FUNCTION lookup RETURNS STRING SONAME 'udf_example.so';
mysql> CREATE FUNCTION reverse_lookup
-> RETURNS STRING SONAME 'udf_example.so';
mysql> CREATE AGGREGATE FUNCTION avgcost
-> RETURNS REAL SONAME 'udf_example.so';
Percona Serverのインストール時にこのようなステートメントを見たことがありますが、Perconaは、Percona Toolkitの一部を公開するために実行する3つのコマンド(これらのような)を提供しています。
とにかく、実際の質問に戻ります。INFORMATION_SCHEMAは、あなたがすでに知っていること以上のものを提供しません。他のすべてはプラグイン可能です。
すべてのmysql関数はコードに直接コンパイルされ、公開されません。
プラグインの場合、情報スキーマ/ mysql.plugins
がありますが、内部関数の場合はありません。