postgres DB에 연결하고 psql 명령을 실행하는 데 사용하는 sh 스크립트가 있습니다. 스크립트는 다음과 같습니다.
/opt/postgres/9.2/bin/psql pcwh -U pcwhuser << EOF
\i /opt/emms/emsam/tmp/tmp1438861364196.psql
EOF
이 sh 파일을 실행하려고 하면 "파일을 찾을 수 없습니다"라는 오류가 발생합니다. 명령줄에서 이 명령문을 수동으로 실행하면 작동하지만 스크립트에서 이 작업을 수행하려면 명령문도 필요합니다.
답변1
사용자는 데이터베이스 사용자여야 합니다. pgsql 데이터베이스에 액세스할 수 있는 자격 증명을 가진 사람입니다.
사용확인su - <dbuser>
\i /opt/emms/emsam
그런 다음 데이터베이스에 대한 액세스 권한이 있는 사용자만 스크립트를 실행할 수 있으므로 스크립트 를 실행하십시오.