web-dev-qa-db-ja.com

MySQLには、INFORMATION_SCHEMA以外のよりプライベートで完全なカタログがありますか?

ほとんどのデータベースは標準化されたINFORMATION_SCHEMAを提供しますが、他のデータベースも提供します。

MySQLは INFORMATION_SCHEMA 以外のものを公開しますか?具体的には、この質問は、たとえばデータベースにあるすべてのGIS関数を示す pg_catalog.pg_proc のように、内部関数の解決を担当するテーブルがあるかどうかを調べることから発想を得ました。 MySQLの場合は、このコメントに対処できます。 しかし、それはさておき、INFORMATION_SCHEMA以外のものがあるかどうかを知りたいだけです。 それが問題です。

1
Evan Carroll

あなたがこれを尋ねたのはおかしいです。 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は、あなたがすでに知っていること以上のものを提供しません。他のすべてはプラグイン可能です。

1
RolandoMySQLDBA

すべてのmysql関数はコードに直接コンパイルされ、公開されません。

プラグインの場合、情報スキーマ/ mysql.pluginsがありますが、内部関数の場合はありません。

0
danblack