# transqlate - 모든 SQL을 PostgreSQL Dialect로 변환(Transpile)

> Clean Markdown view of GeekNews topic #13978. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=13978](https://news.hada.io/topic?id=13978)
- GeekNews Markdown: [https://news.hada.io/topic/13978.md](https://news.hada.io/topic/13978.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-03-25T10:03:01+09:00
- Updated: 2024-03-25T10:03:01+09:00
- Original source: [gitlab.com](https://gitlab.com/dalibo/transqlate)
- Points: 8
- Comments: 1

## Topic Body

- 오라클 SQL(Oraclisms)을 PostgreSQL 구문으로 변경   
- ID 핸들링   
- 공백, 대소문자 및 주석 보존   
- 훌륭한 에러 리포팅   
- 스크립트 또는 모든 표현식 구문을 분석   
- 구문 강조 표시를 지원하는 CLI 또는 Go API로 제공   
- [Simon Holywell 의 SQL Style Guide](https://www.sqlstyle.guide/)를 따름

## Comments



### Comment 23979

- Author: xguru
- Created: 2024-03-25T10:04:02+09:00
- Points: 1

#### [Hacker News 의견](https://news.ycombinator.com/item?id=39741956)   
- 다양한 SQL 변환 도구들이 있지만, 대부분 제대로 작동하지 않음.   
- 다른 SQL 방언을 위한 도구로 `sqlglot` 추천  
  - SQL을 일관된 방식으로 렌더링하거나, 지속적 통합(CI)에서 SQL 비즈니스 로직을 테스트하거나, 방언 특화 최적화를 위한 AST 변환을 적용하는 데 도움이 될 수 있음   
- `sqlglot`을 사용한 개인적인 경험 공유  
  - 과거에 직장에서 PoC(Proof of Concept) 작업 중 Postgres SQL 쿼리를 API에 적용해야 하는 상황이 있었는데, API 응답을 `pandas dataframe`으로 변환하고, `sqlglot`을 사용해 Postgres 방언에서 duckdb 방언으로 쿼리를 변환한 후, `duckdb`로 `pandas dataframe`을 쿼리하고 결과를 `json`으로 변환해 사용자에게 반환했음   
- 여러 도구들이 비슷한 기능을 시도하고 있으며, CompilerWorks라는 회사가 다양한 SQL 방언을 변환하는 도구를 가지고 있었는데, 구글에 인수되었음   
- 소스 코드에서 Oracle 지원이 명확히 나타나 있지만, 현재 지원되는 데이터베이스가 오직 Oracle뿐인지, Microsoft SQL Server에 대한 지원 계획이 있는지 궁금
