[컴][DB] PostgreSQL 에서 command line 으로 sql 실행하기

파일로 된 sql statement 를 실행하기 / execute the sqls from file on postgresql / cmd tool / mysql command line tool


PostgreSQL 에서 command line 으로 sql 실행하기

file 에 insert sql 이 들어있는 상태이고, 이녀석을 실행해서 db 에 data 를 넣고 싶은 경우에 어떻게 해야 할까?
psql 을 이용하면 된다. windows 에서는 아래 경로에서 찾을 수 있다.
  • ..\PostgreSQL\9.4\bin\psql.exe
  • /usr/bin/psql
psql -U username -d myDataBase -a -f myInsertFile
만약 remote server 에 실행해야 한다면 아래처럼 host 를 지정해 주면 된다.
psql -h 127.0.0.1 -U username -d myDataBase -a -f myInsertFile

encoding

만약 insert file(myInsertfile) 의 encoding 이 console 의 encoding 과 다르지 않은지 확인하자. 기본적으로 client encoding 은 locale setting 을 보고 알아서 setting 한다. 이것을 직접 지정해 주고 싶다면 PGCLIENTENCODING 변수를 이용하면 된다. 자세한 것은 아래 글을 참고하자.

Error 표시

위의 command line 으로 실행하면 error 도 그냥 화면에 보였다가 사라진다. 그래서 error log 만 모으도록 아래처럼 command 를 만들자. 그러면 error 만 나중에 확인할 수 있다.
psql -h 127.0.0.1 -U username -d myDataBase -a -f myInsertFile 2> err.log

pgAdmin III 와의 차이

pgAdmin III 에서는 sql 에 error 가 없는지 확인하고 실행한다. 하지만 이 command line 에서는 바로바로 한줄한줄 실행한다.

See Also

  1. PostgreSQL에서 id sequence reset 하는 방법
  2. pg_hba.conf 설정 ; 여기서 accept 하는 ip address 설정을 해줘야 한다.

mysql command line

mysql -u root -p dbnamel < c:\inquery.sql

Reference

  1. Run a postgresql .sql file using command line args - Stack Overflow
  2. [SOLVED] Finding PostgreSQL installed location

댓글 없음:

댓글 쓰기