DESCRIBE OUTPUT

DESCRIBE OUTPUT

프리페어(prepared) 문장이나 쿼리가 반환하는 출력 컬럼의 구조를 확인할 때 쓰는 명령어예요. 컬럼 이름·타입·타입 크기·별칭 여부까지 세밀하게 알 수 있어요.

출처: 문서

본문

Synopsis

DESCRIBE OUTPUT statement_name
DESCRIBE OUTPUT ( query )

Description

프리페어 문장이나 쿼리의 출력 컬럼을 나열해요. 컬럼 이름(또는 별칭), 카탈로그, 스키마, 테이블, 타입, 타입 크기(바이트), 그리고 컬럼이 별칭(alias)인지 여부를 나타내는 불리언 값을 보여줘요.

Examples

출력 컬럼이 네 개인 쿼리를 준비하고 확인해 보아요:

PREPARE my_select1 FROM
SELECT * FROM nation;
DESCRIBE OUTPUT my_select1;
 Column Name | Catalog | Schema | Table  |  Type   | Type Size | Aliased
-------------+---------+--------+--------+---------+-----------+---------
 nationkey   | tpch    | sf1    | nation | bigint  |         8 | false
 name        | tpch    | sf1    | nation | varchar |         0 | false
 regionkey   | tpch    | sf1    | nation | bigint  |         8 | false
 comment     | tpch    | sf1    | nation | varchar |         0 | false
(4 rows)

출력 컬럼이 표현식(expression)인 쿼리를 준비하고 확인해 보아요:

PREPARE my_select2 FROM
SELECT count(*) as my_count, 1+2 FROM nation;
DESCRIBE OUTPUT my_select2;
 Column Name | Catalog | Schema | Table |  Type  | Type Size | Aliased
-------------+---------+--------+-------+--------+-----------+---------
 my_count    |         |        |       | bigint |         8 | true
 _col1       |         |        |       | bigint |         8 | false
(2 rows)

행 개수를 반환하는 쿼리를 준비하고 확인해 보아요:

PREPARE my_create FROM
CREATE TABLE foo AS SELECT * FROM nation;
DESCRIBE OUTPUT my_create;
 Column Name | Catalog | Schema | Table |  Type  | Type Size | Aliased
-------------+---------+--------+-------+--------+-----------+---------
 rows        |         |        |       | bigint |         8 | false
(1 row)

쿼리도 직접 확인할 수 있어요:

DESCRIBE OUTPUT (SELECT *, n_name AS "name" FROM nation);
 Column Name | Catalog | Schema | Table  |     Type     | Type Size | Aliased
-------------+---------+--------+--------+--------------+-----------+---------
 n_nationkey | tpch    | sf1    | nation | bigint       |         8 | false
 n_name      | tpch    | sf1    | nation | varchar(25)  |         0 | false
 n_regionkey | tpch    | sf1    | nation | bigint       |         8 | false
 n_comment   | tpch    | sf1    | nation | varchar(152) |         0 | false
 name        | tpch    | sf1    | nation | varchar(25)  |         0 | true
(5 rows)

See also

PREPARE 명령과 함께 사용해요.

더 알아보기 (Learn more)

프리페어 문장의 입력 파라미터를 확인하려면 DESCRIBE INPUT도 함께 살펴보세요.