# PostgreSQL 포맷터

달러 따옴표 함수 본문, E'' 이스케이프 문자열, 큰따옴표 식별자, :: 형 변환, ->> 및 @>와 같은 JSON 연산자에 대한 Postgres 규칙으로 PostgreSQL 쿼리와 스크립트를 포맷합니다. RETURNING, ON CONFLICT, DO UPDATE SET 같은 절은 각각 별도 줄에 배치되며, 닫히지 않은 문자열, 주석, 괄호는 줄과 열 위치와 함께 표시됩니다. 마이그레이션과 쿼리를 읽는 개발자를 위한 도구입니다.

## 자주 묻는 질문

### 어떤 PostgreSQL 구문을 이해하나요?

따옴표를 두 번 쓴 표준 문자열, 백슬래시 이스케이프가 있는 E'' 문자열, U&'' Unicode 문자열, B'' 및 X'' 비트 문자열, 큰따옴표 식별자, $1 매개변수를 인식합니다. $$...$$ 또는 $body$...$body$와 같은 달러 따옴표 문자열도 읽습니다.

### 달러 따옴표 안의 함수 본문은 어떻게 처리되나요?

달러 따옴표로 감싼 본문은 PostgreSQL에 문자열이므로 작성된 그대로 유지됩니다. 바깥의 CREATE FUNCTION 문은 포맷하지만 본문 자체는 변경하지 않습니다.

### 형 변환과 연산자는 그대로 유지되나요?

예. value::integer 같은 캐스트는 붙어 있는 상태로 유지되며, ->, ->>, #>, #>>, @>, <@, ?|, ?&, @@ 및 ~, ~* 정규식 연산자와 그 부정형은 절대 분리되지 않습니다. PostgreSQL에서 #은 주석이 아니라 연산자입니다.

### 어떤 PostgreSQL 절이 각각 별도 줄에 표시되나요?

RETURNING, ON CONFLICT, DO UPDATE SET, FOR UPDATE, FOR NO KEY UPDATE, FOR SHARE 및 FOR KEY SHARE는 하나의 절로 묶어 둡니다. 일반적인 SELECT, FROM, WHERE, GROUP BY, ORDER BY, LIMIT 및 OFFSET 절도 각각 별도 줄에서 시작합니다.

### 주석이 보존되나요?

예. 줄 주석과 블록 주석은 원래 위치에 유지되며, PostgreSQL에서 허용하는 중첩 블록 주석도 올바르게 읽습니다. 여러 줄로 된 블록 주석은 새 위치에 맞춰 들여쓰기를 다시 적용합니다.

### MERGE를 지원하나요?

예. WHEN MATCHED 및 WHEN NOT MATCHED 분기는 새 줄에서 시작하므로 PostgreSQL 15 이상에서 작성한 MERGE 문도 읽기 쉽습니다.

### 키워드의 대소문자를 변경하나요?

아니요. 키워드와 식별자는 입력한 대소문자를 유지합니다. PostgreSQL에서 따옴표로 묶인 식별자는 대소문자를 구분하며 절대 변경되지 않습니다.

### 어떤 오류를 감지하나요?

닫히지 않은 문자열, 따옴표로 묶인 식별자, 달러 따옴표 문자열 및 블록 주석과 괄호 짝이 맞지 않는 부분을 줄과 열 번호와 함께 표시합니다. 이 도구는 전체 PostgreSQL 문법이나 스키마를 검사하지 않습니다.

### 입력 크기는 최대 얼마인가요?

요청당 최대 1 MB, 문당 128 KB까지 지원합니다. 문이 많은 마이그레이션 파일은 문별로 하나씩 서식을 지정하고 빈 줄로 구분합니다.

### 들여쓰기를 선택할 수 있나요?

예. 공백 2칸 또는 4칸이나 탭을 사용하세요. SQL는 메모리에서만 처리되며 저장되지 않습니다.

여기에 광고를 게재하시겠어요?

[이메일 보내기](mailto:hi@dennn.is?subject=OneClick%20Pro%20%EA%B4%91%EA%B3%A0%20%EB%AC%B8%EC%9D%98)

[광고 WordPress을 위한 에이전트 지원 플러그인 모음입니다.](https://sleekwp.com/?ref=oneclickpro)
