프로젝트에서 오라클 > PostgreSQL로 DB 변경이 있어서 Posgre를 설치하고 설정한 내용을 정리한다.
로컬의 개발 PC( window OS )에 postgres 14버전 설치
* PostgreSQL 기본 사용
window 버튼 > psql : 오라클의 sqlplus처럼 사용할 수 있음
window 버튼 > pgadmin 4 : postgres의 관리 툴
이제 개발PC PostgreSQL에 접근해볼까?
Test시 접근하지 못하는 에러가 출력된다,,,, 검색해보자
conf 파일에 로컬만 접근 가능하도록 설정되어 있는 부분을 수정해야한다고 한다,,,,
* 로컬 말고 외부에서 접근하도록 설정
C:\Program Files\PostgreSQL\14\data 폴더의 pg_hba.conf 파일, postgresql.conf 파일을 수정할 것이다.
먼저, pg_hba.conf
IPv4 local connections: 설정 부분에
host all all 0.0.0.0/0 md5 추가
해당 METHOD에
scram-sha-256 암호화 방식이 현재 프로젝트 환경에서는 불가능하여
MD5 암호화 방식을 적용하였다.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 0.0.0.0/0 md5
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
그리고 postgres.conf
listen_address를 검색하고 해당 값이 *가 아닌경우 *로 변경한다. (기본값이 localhost인 경우가 있다고 하는데 나의 경우에는 그러지 않았다.)
해당 부분이 localhost인 경우 정말 로컬 환경에서만 사용 가능하다.
마지막으로 Reload Configuration
변경한 conf 파일들을 적용하기위해
얘를 psql에서 명령어를 날리라고 하는데, 명령어로 실행이 되질 않아서
나는 psadmin 4를 이용해서 진행하였다.
psql)
select pg_reload_conf() 또는 pg_ctl reload -D "C:\Program Files\PostgreSQL\14\data"
psadmin 4)
완료
* DB 사용자 생성
-- 사용자 목록 조회
select * from pg_user;
-- 사용자 생성
create user abcd password 'abc123' superuser;
사용자 이름 : abcd
비밀번호 : abc123
그리고 superuser 권한을 주었다.
* Ora2Pg
이 녀석은 oracle을 postgre로 변환해주는 녀석인데
perl에서 동작한다고 한다.
1. 윈도우 환경인 나는 perl부터 설치해야한다. (맥도 설치를 해야하는지는 모르겠다. 안해도 될 것 같음)
어서 딸기 진주(strawberry Perl)를 다운받고 설치하도록 하자.
Perl 다운로드 링크 : Perl Download
검색하며 보게된 잡담하나 하자면, perl은 1980년 후반 NASA에서 시스템 관리자로 일하던 언어학자인 Larry Wall이 보고서 처리를 쉽게하기위해 개발됐다고 한다. 미친대단한놈이다. 뭐 암튼 일단 설치 완료하고
설치 완료 확인은 CMD를 열어 perl -v 명령어 입력해서
처럼 나오면 된다.
완료.
이제 무슨 세팅들을 하고 있는데 왜 하는건지 좀 알아봐야겠다
https://www.linkedin.com/pulse/quick-easy-guide-use-ora2pg-windows-seyed-ibrahim
위의 링크에서 하라는대로 하는 중
Perl setup을 하고
DBD:Oracle 설치까지 잘 됐다.
이거 전에 보던 블로그에서는 Perl 관련 셋업 없이 설치를 진행해서
OCI어쩌구 에러를 뱉어냈었는데 Perl관련셋업이 안되어 있어서 그랬나보다.
(위에 내용은 DB연결 부분이 제대로 되지 않았기에 뱉어내던 오류였다...)
계속 진행
ora2pg -t DATA -i C:\Users\Desktop\sqldeveloper\sqldeveloper\bin\test.sql -b C:\ora2pg -o asdf2.sql -c C:\ora2pg\ora2pg.conf
잘 생성됐다!!!
근데 이거 파일당 하나씩 작성해야 하는,,ㄱ,ㅓㄴ
추가) 아래의 링크처럼 진행하다가 ora2pg.conf파일을 전부 날리고 PG_VERSION만 기입하는 부분이 있는데
변환한 파일을 파일로 생성하지 않고 그냥 데이터베이스에 밀어 넣는 설정도 가능하기 때문에
해당 부분은 건너 뛰어도 된다.
DB설정 부분은
PG_DSN
PG_USER
PG_PWD
를 설정해주면 된다고 한다.
근데 얘는 postgre고
오라클것에서도 가져올거니
ORACLE_DSN
ORACLE_USER
ORACLE_PWD도 작성해서
두 DB에 접근하여 진행시키자.
응 에러나~ OCIEnv뭐시기 발생
참고 링크)
PostgreSQL | PostgreSQL 설정 파일 | pg_hba.conf 파일 설정 방법
pg_hba.conf 파일은 PostgreSQL에 접속하는 클라이언트에 대한 인증 설정을 설명하는 파일이다. 여기에서는 pg_hba.conf 파일의 설정 방법에 대해 설명한다. pg_hba.conf 파일 위치 pg_hba.conf는 postgresql.conf와
www.devkuma.com
------------------------------------------
DBeaver로 마이그레이션하는게 가장 편하다.
'DB > PostgreSQL' 카테고리의 다른 글
EDB에서 CONNECT BY (0) | 2024.04.24 |
---|---|
PostgreSQL과 EDB의 JDBC 드라이버는 다르다 (1) | 2024.03.22 |
PostgreSQL Tablespace, Schema, User 생성 (0) | 2024.02.23 |