postgresql 기반 필드 가 어느 표 에 속 하 는 지 설명 합 니 다.

장면 복원
전단 의 작은 숲 이 나 에 게 물 었 다.그것 이 전단 에서 돌아 오 는 일부 필드 는 그 시계 에 이 필드 가 있 는 지 알 고 싶 었 다.이 시 계 를 조작 하고 싶 었 다.
sql 구문

SELECT *
FROM information_schema. COLUMNS
WHERE COLUMN_NAME = 'storename';

SELECT c.relname AS "  ",a.attname AS "   ",c.oid
FROM pg_class c 
LEFT JOIN pg_attribute a ON a.attrelid = c.oid
WHERE c.relname NOT LIKE 'pg_%'
-- AND c.relname = 'kx_store'
AND a.attname = 'storename';

추가:postgresql 데이터베이스 에서 모든 필드 의 상세 한 정 보 를 조회 합 니 다.설명 포함
안에 있 는 Public 를 해당 모드 이름 으로 바 꿉 니 다(기본 값 은 Public 입 니 다.바 꾸 지 않 습 니 다)
table_name 대응 표 이름 으로 변경

SELECT AA.*,BB.DESC FROM
 (
SELECT
A.ORDINAL_POSITION AS COL_NUM,
A.COLUMN_NAME AS COL_NAME,
A.DATA_TYPE AS COL_TYPE,
A.CHARACTER_MAXIMUM_LENGTH AS COL_LEN,
A.NUMERIC_PRECISION AS COL_PREC,
A.DATETIME_PRECISION AS COL_TIME_PREC,
A.IS_NULLABLE AS COL_NULLABLE,
A.COLUMN_DEFAULT AS COL_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE A.TABLE_SCHEMA = 'public' AND A.TABLE_NAME = 'table_name'
 )
 AS AA LEFT JOIN
 (
SELECT
OBJSUBID,
DESCRIPTION AS DESC
FROM PG_DESCRIPTION
WHERE OBJOID =
(
 SELECT RELID FROM PG_STAT_ALL_TABLES WHERE SCHEMANAME = 'public' AND RELNAME = 'table_name'
)
 )
 AS BB ON AA.COL_NUM = BB.OBJSUBID ORDER BY AA.COL_NUM;
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기