가져 오려는 파일에서 권한이 거부되었습니다.


17

\ipsql.exe 폴더에없는 파일 을 사용하려고 하면이라고 표시 C:: permission denied됩니다. 예를 들어 C:\Users\Work\Desktop\School Work\load_database.sql입력 \i "C:\Users\Work\Desktop\School Work\load_database.sql"할 때 SQL 명령이있는 파일이 C:: permission denied있습니다. 이 문제를 어떻게 해결할 수 있습니까?

나는 주위에 일을 발견 여기 psql.exe가에서와 같이 동일한 폴더에 .SQL 파일을 복사 곳.

그건 그렇고, \ i 는 수입을 의미합니까?

답변:


33

psqlWindows 에서 특이한 점을 경험 했습니다.

내 의견으로는 난 당신이 실제로 필요한 권한이 없었을 가능성을 배제하고 싶었습니다 . 그런 다음 Windows에서도 백 슬래시 대신 '일반'슬래시를 사용해야합니다.

\i 'C:/Users/Work/Desktop/School Work/load_database.sql'

어떤 폴더 psql에서 시작하든 잘 작동합니다 . 작은 따옴표를 사용했습니다-큰 따옴표와 함께

"C:/Users/Work/Desktop/School Work/load_database.sql": Invalid argument

고마워 큰 따옴표가 아닌 작은 따옴표를 사용하는 방법을 어떻게 알았습니까? 이것이 postgres의 일반적인 규칙입니까 아니면 차이점은 무엇입니까?
Celeritas

1
@Celeritas Windows가 경로에서 큰 따옴표를 psql사용하는 방식과 식별자에서 (및 PostgreSQL)을 사용 하는 방식의 충돌의 결과라고 생각합니다 .
dezso

이 않았나의 윈도우 10, 슬래시에서 나를 위해 작업과 모든 user68006의 답변을 했다,하지만
스카라무슈

1
@Scaramouche 피드백에 감사드립니다! 분명히 거부 된 모든 권한이 동일하게 생성되는 것은 아닙니다.
dezso

6

'c : \ tmp'와 같이 모든 사람에게 모든 권한을 가진 파일을 디렉토리에 저장하십시오.

또는

가져올 파일에 대한 읽기 권한을 설정하십시오.

'모두'읽기 권한을 부여했습니다.

파일을 가져온 후 해당 권한을 취소 할 수 있습니다.

윈도우 파일 속성

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.