[postgresql] PostgreSQL 8.4에서 기존 * .sql 파일을 가져 오는 방법은 무엇입니까?

PostgreSQL 8.4를 사용하고 있으며 데이터베이스로 가져올 * .sql 파일이 있습니다. 어떻게 할 수 있습니까?



답변

명령 줄에서 :

psql -f 1.sql
psql -f 2.sql

로부터 psql메시지 :

\i 1.sql
\i 2.sql

특정 순서로 파일을 가져와야 할 수도 있습니다 (예 : 데이터 조작 전 데이터 정의). 당신이 가지고있는 경우에 bash쉘 (GNU / 리눅스, 맥 OS X, Cygwin에서) 와 파일이 알파벳 순서로 가져올 수 있습니다 , 당신은이 명령을 사용할 수 있습니다 :

for f in *.sql ; do psql -f $f ; done

다음은 psql애플리케이션 문서입니다 (Frank 감사합니다). http://www.postgresql.org/docs/current/static/app-psql.html


답변

명령 줄에서 먼저 psql이있는 디렉토리에 도달 한 다음 다음과 같은 명령을 작성합니다.

psql [database name] [username]

그런 다음 Enter 키를 누릅니다. psql은 암호를 묻고 사용자 암호를 제공합니다.

다음 쓰기

> \i [full path and file name with extension]

그런 다음 Enter를 눌러 삽입 완료.


답변

내가 아는 가장 짧은 방법은 다음과 같습니다.

psql -U {user_name} -d {database_name} -f {file_path} -h {host_name}

database_name : 파일 데이터를 삽입해야하는 데이터베이스입니다.

file_path : 가져 오기를 수행 할 파일의 절대 경로입니다.

host_name : 호스트의 이름. 개발 목적으로 대부분 localhost.

콘솔에이 명령을 입력하면 암호를 입력하라는 메시지가 표시됩니다.


답변

“/”및 “\”에주의하십시오. Windows에서도 명령은 다음 형식이어야합니다.

\i c:/1.sql


답변

항상 연결 서비스 파일 (lookup / google ‘psql 연결 서비스 파일’)을 사용하는 것이 좋습니다.

그런 다음 간단히 :

psql service={yourservicename} < {myfile.sql}

yourservicename서비스 파일의 섹션 이름은 어디에 있습니까 ?


답변