PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

3 начина за проверка на типа данни на колона в PostgreSQL

Ето три начина да получите типа данни на дадена колона в MariaDB.

\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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ГРЕШКА:разрешението е отказано за име на таблица за връзка в Postgres, докато се опитва SELECT като потребител само за четене

  2. pghoard алтернативи - PostgreSQL управление на архивиране с ClusterControl

  3. Сравняване на хранилища за данни за PostgreSQL - MVCC срещу InnoDB

  4. Застой в PostgreSQL при изпълнение на UPDATE

  5. Хибернация, Postgres и тип масив