postgresql sql 파일을 실행해 봅시다.

코딩/Sql 2022. 12. 15. 03:09

 간혹 가다가, postgresql에서 sql file에 있는 명령들을 실행시켜야 할 때가 있습니다. 예를 들어, custom 함수를 정의할 때라던지, 데이터들을 모두 import 할 때 등이 이에 해당되겠네요. 어떻게 하는지 알아보겠습니다.

 


 먼저, app3 데이터베이스에 있는 테이블은 reply와 user입니다. user는 id가 4인 유저만 존재합니다. reply를 모두 얻어보겠습니다.

 

 아무것도 없습니다.

 

 reply.sql은 Users의 chokw 밑에 있습니다. 이 문장은 그냥 reply 테이블에 id가 4인 유저가 "cd"라는 내용의 포스트와, 'ef"라는 포스트를 썼다는 정보를 추가합니다.

 

 psql 명령어는, -d 옵션을 주면 데이터베이스에 바로 접근이 가능합니다. 저는 postgres라는 유저로 app3 데이터베이스에 접근하려고 합니다. 이 경우, psql -U postgres -d app3을 입력하시면 됩니다. psql 명령어가 안 먹히시는 경우에는, psql.exe가 있는 경로를 path에 추가하시면 됩니다. 

 

 \i는 파일에 있는 명령들을 모두 실행합니다. \i 다음에 파일명이 오면, 파일명에 있는 명령들을 모두 실행해요. 추가한 후에 데이터를 확인해 보겠습니다.

 

 2개의 행이 추가되었음을 확인할 수 있어요. 그런데 이 command line이 싫으시다면, dbeaver라는 툴로 하시는 방법도 있습니다.

 


 파일에서 다음 이름 지정된 파일 찾기를 눌러보겠습니다.

 

 그러면 파일 탐색기 창이 나오는데요. 명령어들이 있는 sql 파일을 불러오겠습니다.

 

 

 그러면 명령어들이 뜨는데요. 종이 중앙에 플레이 아이콘이 있는 아이콘은, 스크립트 안 SQL문 모두 실행을 의미합니다. 이것을 눌러보겠습니다. 그러면 1개의 insert문이 실행됩니다.

 

 이제 reply에 있는 데이터들을 확인해 보겠습니다. 그러면 2개의 레코드가 추가되었음을 알 수 있어요. dbeaver를 쓴다면, 매우 쉽게 sql 파일에 있는 명령들을 모두 실행할 수 있겠습니다. 생각보다 gui tool에서 import 하는 것도 많이 사용하니, 익혀두시면 좋을 듯 싶습니다.