sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLで列のデータ型を確認する3つの方法

    MariaDBで特定の列のデータ型を取得する3つの方法を次に示します。

    \d コマンド

    psqlでは、\d コマンドは、テーブル、ビュー、マテリアライズドビュー、インデックス、シーケンス、または外部テーブルに関する情報を表示します。

    このコマンドを使用して、特定のテーブルの列のデータ型を確認できます。

    \d public.actor

    結果:

                                                 Table "public.actor"
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+
    |   Column    |            Type             | Collation | Nullable |                 Default                 |
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+
    | actor_id    | integer                     |           | not null | nextval('actor_actor_id_seq'::regclass) |
    | first_name  | character varying(45)       |           | not null |                                         |
    | last_name   | character varying(45)       |           | not null |                                         |
    | last_update | timestamp without time zone |           | not null | now()                                   |
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+
    Indexes:
        "actor_pkey" PRIMARY KEY, btree (actor_id)
        "idx_actor_last_name" btree (last_name)
    Referenced by:
        TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT
    Triggers:
        last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated()

    プラス記号を追加できます(+ )拡張情報を明らかにする:

    \d+ public.actor

    結果:

                                                                     Table "public.actor"
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
    |   Column    |            Type             | Collation | Nullable |                 Default                 | Storage  | Stats target | Description |
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
    | actor_id    | integer                     |           | not null | nextval('actor_actor_id_seq'::regclass) | plain    |              |             |
    | first_name  | character varying(45)       |           | not null |                                         | extended |              |             |
    | last_name   | character varying(45)       |           | not null |                                         | extended |              |             |
    | last_update | timestamp without time zone |           | not null | now()                                   | plain    |              |             |
    +-------------+-----------------------------+-----------+----------+-----------------------------------------+----------+--------------+-------------+
    Indexes:
        "actor_pkey" PRIMARY KEY, btree (actor_id)
        "idx_actor_last_name" btree (last_name)
    Referenced by:
        TABLE "film_actor" CONSTRAINT "film_actor_actor_id_fkey" FOREIGN KEY (actor_id) REFERENCES actor(actor_id) ON UPDATE CASCADE ON DELETE RESTRICT
    Triggers:
        last_updated BEFORE UPDATE ON actor FOR EACH ROW EXECUTE FUNCTION last_updated()
    Access method: heap

    information_schema.columns 表示

    information_schema.columns ビューには列に関する情報が含まれています:

    SELECT
        column_name,
        data_type,
        character_maximum_length AS max_length,
        character_octet_length AS octet_length
    FROM
        information_schema.columns
    WHERE
        table_schema = 'public' AND 
        table_name = 'actor' AND
        column_name = 'first_name';

    結果:

    +-------------+-------------------+------------+--------------+
    | column_name |     data_type     | max_length | octet_length |
    +-------------+-------------------+------------+--------------+
    | first_name  | character varying |         45 |          180 |
    +-------------+-------------------+------------+--------------+

    pg_typeof() 機能

    pg_typeof() 関数は、渡された値のデータ型のOIDを返します。

    したがって、列をpg_typeof()に渡すことで、列のデータ型を取得できます。 テーブルのクエリ中に機能する:

    SELECT pg_typeof(first_name)
    FROM public.actor
    LIMIT 1;

    結果:

    +-------------------+
    |     pg_typeof     |
    +-------------------+
    | character varying |
    +-------------------+

    PostgreSQLでは、character varying varcharの名前です (実際には、varchar character varyingのエイリアスです 。


    1. PostgreSQLのフォールトトレランスの進化:タイムトラベル

    2. PostgreSQL ROLE(ユーザー)が存在しない場合は作成します

    3. PostgreSQLでテーブルを参照するすべてのストアドプロシージャを一覧表示する3つの方法

    4. DelphiをSalesforce.comに接続する