タグ付けされた質問 「information-schema」

5
指定したテーブルのすべての列をリストするにはどうすればよいですか
私は知らないデータベースの正確な情報を探しています。 これはサードパーティ製品であり、いくつかの質問に答えるのが遅く、データがそのデータベース内にあることを知っているので、少しレトロエンジニアリングを行いたいと思います。 1つのテーブルが与えられた場合、このテーブルの列の名前のリストを持つことは可能ですか? たとえば、SqlServerでは、テーブルを再利用可能なCREATEステートメントにダンプすることができます。これは、テーブルを構成するすべての列をテキストでリストします。

3
Postgresのマテリアライズドビューの定義を照会する
Postgresでマテリアライズドビューの定義をクエリする方法を疑問に思っています。参考までに、私がやりたいことは、通常のビューでできることと非常に似ています。 SELECT * FROM information_schema.views WHERE table_name = 'some_view'; 次の列が表示されます。 table_catalog table_schema table_name view_definition check_option is_updatable is_insertable_into is_trigger_updatable is_trigger_deletable is_trigger_insertable_into マテリアライズドビューでこれは可能ですか? これまでの私の調査から、マテリアライズドビューはinformation_schemaから意図的に除外されているようです。 information_schemaは、SQL標準に存在するオブジェクトのみを表示できます。 (http://www.postgresql.org/message-id/3794.1412980686@sss.pgh.pa.us) それらはinformation_schemaから完全に除外されているように見えるので、私はこれについてどうするかわかりませんが、私がやりたいことは2つあります: 特定のマテリアライズドビューが存在するかどうかを照会します。(これまでのところ、これを行うことがわかった唯一の方法は、同じ名前のマットビューを作成し、それが爆発するかどうかを確認することです。) 次に、マテリアライズドビューの定義を照会します(view_definition上の列と同様information_schema.views)。

6
MySQLの2つのテーブルの構造を比較するクエリ
MySQLデータベースの1つのバックアッププロセスを自動化するために、2つのテーブルの構造(現在のバージョンと古いバージョン)を比較したいと思います。 2つのテーブルを比較できるクエリを考えられますか? 比較できる表の例を次に示します。 CREATE TABLE product_today ( pname VARCHAR(150), price int, PRIMARY KEY (pname) ); CREATE TABLE product_yesterday ( pname VARCHAR(150), price int, PRIMARY KEY (pname) ); CREATE TABLE product_2days_back ( pname VARCHAR(15), price int, PRIMARY KEY (pname) ); 最初の2つのテーブルの構造は同じです。最後のものは異なります。2つのテーブルの構造が異なるかどうかを知る必要があるだけです。私はそれらがどのように異なるかに興味がありません。

1
INFORMATION_SCHEMAはMySQLでどのように実装されていますか?
INFORMATION_SCHEMAは、理論的には、ユーザーがシステムのメタデータを検査できるようにするSQL標準で指定された一連のビューです。これはMySQLでどのように実装されていますか? 新規インストールに接続すると、2つのデータベースが表示されます:mysqlとinformation_schema。データベースでSHOW CREATE TABLEステートメントを使用した後information_schema、ビューのセットとしてではなく、ベーステーブルを使用して実装されているようです。この仮定は正しいですか?または、ユーザーから隠されている他のシステムテーブルがありますか?

3
SQL Serverの情報スキーマへのアクセスを拒否する
sys.tables/ へのアクセスを無効にする最良の方法を探していますInformation SchemaSQL Serverのユーザー/グループのます。 見つけた は2008年からこのスレッド 次のようにアクセスを拒否する方法を示します[sys].[something]。 DENY SELECT ON [sys].[columns] TO DenySystemTableSelectRole GO DENY SELECT ON [sys].[tables] TO DenySystemTableSelectRole GO DENY SELECT ON [sys].[syscolumns] TO DenySystemTableSelectRole GO DENY SELECT ON [sys].[sysobjects] TO DenySystemTableSelectRole GO しかし、アクセスを無効にする方法はありませんInformation Schema: DENY SELECT ON INFORMATION_SCHEMA.TABLES To DenySystemTableSelectRole これは機能しないようです。 information_schemaへのアクセスを無効にするにはどうすればよいですか? そして、すべてへのアクセスを無効にする簡単な方法がありますsys/information_schema? 更新: 実際には、次のステートメントの両方を実行することはできません。 DENY SELECT ...

2
PostgreSQL:特定のテーブルにアクセスするすべてのストアド関数を一覧表示する方法
前書き: 廃止された、使用されていないなど、数百のストアド関数を含むPostgreSQLデータベース 問題 テーブル構造を変更したいので、テーブルXと関係のあるすべてのストアド関数を見つける必要があります。一部は使用されていない可能性があるため、コードを確認するだけではそれを行うことはできません。 ATMを使用するソリューションは、psql \df+とgreppingの出力を実行していますが、情報スキーマを使用するなど、よりデータベースに似たソリューションを使用したいと思います。これは間違いなく繰り返しの多い作業になるので、きれいにしてください。 助言がありますか?

5
テーブルの行サイズと最大行サイズを計算する
問題: テーブルの作成に使用されるバイト数を計算する方法はありますか?information_schema.tablesからいくつかの情報を取得できますが、その情報は十分に正確ではありません。 実際に必要なのは、innodbのみのテーブルの定義によるバイト数であり、照合はutf-8-general-ciと見なすこともできます。 たとえば、テーブルテストは次のようになります。 テーブルテストの作成 ( col1 varchar(25)、 col2 int、 col3 varchar(3)、 col4 char(15)、 col5 datetime )); これで、テーブルの列のタイプに応じて1つの行に累積できる合計行サイズを知る必要があります。 MSSQLで同様のソリューションを見つけたが、MySQLバージョンが必要 任意のテーブルの行サイズを推定するスクリプト どんな助けでも大歓迎です。

4
暗号化された/暗号化されたデータを持つSQL Server 2008 R2のすべての列をすばやく見つける方法はありますか?
暗号化された/暗号化されたデータを持つSQL Server 2008 R2のすべての列をすばやく見つける方法はありますか? 開発サーバーの暗号化されたすべての列のデータを(ビジネスルールに従って)無効にする必要があります。私は定期的に使用しているため、ほとんどの列を知っていますが、徹底し、すべての列が見つかったことを証明できるようにしたいと考えています。 私はWebを検索し、INFORMATION_SCHEMAを調べて、有用だと思われるDMVとsys.columnsとsys.objectsを確認しましたが、今のところうまくいきません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.