pgAdmin III는 정크가 포함된 파일을 작성하므로 PSQL이 실패합니다.

pgAdmin III는 정크가 포함된 파일을 작성하므로 PSQL이 실패합니다.

psql동료가 \i다른 파일에서 추가 SQL 문을 실행하기 위해 저장된 스크립트에서 psql의 지시어를 사용해야 했기 때문에 일부 콘솔 명령을 실행해야 하는 딜레마에 직면했습니다 . pgAdmin이 그들에게 편지를 쓰고 있었습니다:

psql:C:/tmp/junk.sql:3: ERROR:  syntax error at or near "CREATE"
LINE 1: CREATE TABLE junktable (

psql은 SQL의 공식적인 부분이 아니기 때문에 여기에 필요합니다 \i. 따라서 로컬 디스크의 파일에 접근할 수 있는 방법이 있더라도 데이터베이스의 인터프리터에 직접 이와 같은 명령을 보내면 실행되지 않습니다.

일을 단순하게 유지하기 위해 PgAdmin의 SQL 편집기가 Postgres와 잘 작동할 수 있도록 하는 방법을 찾고 싶었습니다. 그래서 갑자기 직장에 있는 다른 사람들에게 이 문제를 해결하기 위해 다른 편집기를 다운로드하여 설치하라고 말하지 않을 것입니다. 그들은 이미 pgAdmin을 알고 사용하고 있습니다.

관련 질문:

답변1

다행히도 psql.exe 또는 이와 유사한 항목을 변경할 필요가 없는 솔루션이 있습니다.

PgAdmin III의 옵션(파일 -> 옵션)을 둘러보면 "쿼리 파일"의 "쿼리 도구" 제목 아래에 "UTF 파일용 BOM 작성"에 대한 확인란 토글 옵션이 있습니다.

PgAdmin III 옵션: 쿼리 도구: 쿼리 파일

확인을 누르면 psql.exe의 패키지 버전과 함께 작동하는 PgAdmin의 파일을 저장할 수 있습니다. psql이 제대로 읽을 수 없도록 하는 UTF BOM 테이블이 있는 기존 파일이 있는 경우 PgAdmin의 SQL 쿼리 편집기에서 해당 파일을 로드한 다음 다른 이름으로 저장 옵션을 사용하여 해당 위치에 저장할 수 있습니다. 주석 줄을 추가하고 일반 저장(ctrl-S)을 수행하는 등 작은 변경 작업을 수행하는 것도 효과적입니다.

관련 정보