PostgreSQL Data 불러오기, 내보내기

DB를 사용하다보면 데이터를 불러와야할 일도, csv파일 등으로 내보내야 할 일도 있다.

처음 사용하는 사용자에겐 이 과정이 상당히 복잡하기 때문에 배운것을 기록 해 둘겸 남에게 쓰임새 있게 쓰이길 바라며 포스팅 시작.

사전 준비

  • DB 로그인이 가능한 pgAdmin(PostgreSQL 관리 프로그램)
  • 사용 가능한 .csv, .dump 파일

Data import

좌상단의 File > Preferences > Paths > Binary paths 에서

EDB Advanced Server Binary Path가 아닌 PostgreSQL Binary Path 에 위 사진처럼 자신의 이하경로/PostgreSQL/버전/bin 을 입력해준다

잘 입력했다면 Set as default를 누르고 Save.

이젠 적용할 테이블에 우클릭을 한 후, Import/Export… 을 클릭해준다.

Import/Export 는 Import로

Filename은 테이블에 적용하고 싶은 파일을 찾아주고

Header를 Yes로

Delimiter는 파일마다 다를수 있는데 필자의 경우 파일을 메모장으로 열어봤을때 구분이 쉼표로 되어있기때문에 ,로 골라주었다.

OK로 적용해주고

테이블 리프레쉬~

이후 Query Tool을 열어 테이블을 조회해주면 깔끔히 적용된 모습이 출력된다.

Data export

PostgreSQL의 데이터 export 방법에는 두가지가 있다.

첫째는 pgAdmin 을 통해 위 사진에 있는 Save results to file 버튼을 클릭하여 csv로 다운로드 받는법.

이는 직관적이고 쉽지만 항상 pgAdmin을 통해 다운받을수는 없으니 다른 방법도 알아보려 한다.

둘째는 CMD 를 통해 csv를 다운받는 법이다.

그러기 위해서는 미리 원하는 형식의 sql파일을 만들어 놓아야 한다.

가령 cities 테이블 전체를 내보내려면

1
SELECT * FROM cities;

가 작성된 sql 파일을 미리 만들어 놓아야 한다.

이번 포스팅에서는 이 파일 이름이 cities.sql이라 가정하고 포스팅을 작성한다.

이후 CMD에서 할 일은 다음과 같다.

먼저 파일이 있는 곳으로 이동해야 한다

1
cd [cities.sql이 있는 경로]

이제 다음의 명령을 입력해 cities.sql의 출력값을 그대로 csv로 출력하면 된다

1
2
3
4
5
6
7
8
9
10
psql -U postgres -d postgres -f cities.sql -o cities.csv -F ',' -A -t

-- 명령어의 뜻은 다음과 같다.
-- -U = 데이터베이스 사용자 이름
-- -d = 연결할 데이터 베이스 이름
-- -f = 파일 내부의 지정한 명령을 실행후 끝냄
-- -o = 쿼리 결과를 파일(또는 |파이프)로 보냄
-- -F = unaligned 출력용 필드 구분자 설정(기본값: "|")
-- -A = 정렬되지 않은 표 형태의 출력 모드
-- -t = 행만 인쇄

어후 복잡하다.

그래도 psql --help를 입력하면 모든 명령어가 출력되니 참고하며 쓰면 된다.

위의 명령어를 입력하면 DB의 암호 입력창이 나오는데 DB를 만들때 입력했던 암호를 입력하면 csv생성이 완료된다.

dump파일 업로드

dump파일이 있는 폴더로 이동하고 다음 명령 입력시 데이터 베이스에 테이블 각각 생성됨.
psql -U postgres -d postgres -f function_example.dump
유저네임, DB이름, 파일이름에따라 명령어를 알맞게 바꿔주어야 함.
명령어에 대한 설명은 바로 위에 있고, psql --help를 해도 볼 수 있음.

PyCharm, PostgresSQL 연동

이번 포스팅에서는 PyCharm에 DB를 연동하는 방법을 포스팅 한다.

포스팅에서 필자는 PostgreSQL을 사용한다.

포스팅의 대략적인 길이를 보면 알겠지만 매우 간단하다.

먼저 본인이 연결하고싶은 위치에 파이참을 실행시켜준다.

이후 좌측상단의 File > Settings > Plugins 으로 들어가면 위와 같은 화면이 열린다.

파이참에 여러가지 플러그인을 설치할 수 있는 창이다.

이후 data를 검색하고 Database Navigator를 INSTALL 해준다. (필자의 경우 미리 돼 있음)

그런 다음 View > Tool Windows > DB Browser를 실행시킨다.

DB Browser가 보이지 않을경우 파이참을 종료후 다시 실행해보면 된다.

Database Navigator를 해당 폴더에서 처음 실행했다면 DB Browser에 Nothing to show라는 문구가 뜰 것이다.

  • 버튼을 누르고 자신이 사용할 DB를 선택해준다.

필자는 PostgreSQL를 설치했고 사용할 것이니깐 PostgreSQL를 클릭

PostgresSQL에서 따로 설정을 만지거나 하지않았다면

User = postgres
Password = DB생성시 자신이 입력한 비밀번호(또는 기본값 5432)

이외에 항목을 무언가 바꾸었다면 어떤 항목에 손대야 하는지는 독자 자신이 더 잘 알것이다.

우측 하단에 TEST CONNECTION을 누르고 위와 같은 화면이 뜬다면 Apply 후 OK

여기까지 잘 따라왔다면 이제 끝났다.

DB Browser에서 DB가 잘 불러와진 것을 확인하면 된다.

만약 SQL파일을 갖고있다면 이젠 PyCharm에서 전체실행, 라인별로 실행도 가능하다.