Oracle의 파이가 탐이 났는지 PostgreSQL의 엔터프라이즈 버전인 EDB는
오라클 호환성이 아주 좋다.
지금 진행중인 프로젝트의 DB가 PostgreSQL이라고 해서 열심히 컨버팅 작업을 진행하고 있었는데
to-be DB의 세팅이 완료되었다고 접속정보를 받아보았더니
이게 웬걸 포트가 5444???
PostgreSQL의 포트는 5432인데, 5444면 EDB인것 같아서 바로 PM에게 얘기해서 고객에게 확인해보니 EDB가 맞다고 한다
허허허허ㅓ허
솔루션 회사라고 해놓고 연구소도 없는 우리 회사 솔루션은 오라클이 가장 최신화가 잘되어있고 가장 많은 버그가 잡혀있는 상태라서 오라클 지원되는 EDB를 사용하는 것은 아주 개꿀이라고 할 수 있었다.
(한 달의 Postgre변환 작업은 물거품이 되었,,,)
암튼,
EDB의 쿼리를 Oracle에 맞게 짜고 있었는데, 오라클에서 돌던 쿼리가 작동이 제대로 안된다...
정체를 보니 connect by ㅋㅋㅋㅋㅋㅋ
postgresql에서는 generate_series를 사용해야만 하지만
edb는 지원을 해주기는 한다.
근데 제대로는 안해주네
그래서 문제가된 부분의 쿼리를 변경했다.
변경전)
SELECT
TO_DATE( '202404', 'yyyymm')+LEVEL-1 dt
FROM
dual
CONNECT BY LEVEL <= (
SELECT
TO_CHAR( LAST_DAY(TO_DATE( '2024' /**P*/|| '04' /**P*/,'yyyymm')),'dd' )
FROM
dual
)
변경후)
SELECT
TO_CHAR(dt,'MM')||'/'||TO_CHAR(dt,'dd') AS mmdd,
(SELECT TO_CHAR(dt,'DY') FROM dual) AS krday
FROM
(
SELECT
TO_DATE('202404','yyyymm')+LEVEL-1 dt
FROM GENERATE_SERIES(1, (SELECT TO_CHAR( LAST_DAY(TO_DATE('202404','yyyymm')),'dd' ) FROM dual)) LEVEL
)
ORDER BY dt ASC
'DB > PostgreSQL' 카테고리의 다른 글
PostgreSQL과 EDB의 JDBC 드라이버는 다르다 (1) | 2024.03.22 |
---|---|
PostgreSQL Tablespace, Schema, User 생성 (0) | 2024.02.23 |
PostgreSQL 외부 접속, 사용자 생성, ora2pg로 DB 마이그레이션 (0) | 2024.02.21 |