Izin ditolak dalam file yang mencoba mengimpor

17

Ketika saya mencoba menggunakan \ifile yang tidak ada di folder psql.exe, katanya C:: permission denied. Sebagai contoh saya memiliki file dengan perintah SQL di C:\Users\Work\Desktop\School Work\load_database.sqldan ketika saya mengetik \i "C:\Users\Work\Desktop\School Work\load_database.sql"katanya C:: permission denied. Bagaimana saya bisa memperbaikinya?

Saya menemukan pekerjaan di sini di mana Anda menyalin file .sql ke folder yang sama dengan psql.exe.

Ngomong-ngomong, apakah \ i membela impor?

Celeritas
sumber

Jawaban:

32

Anda baru saja mengalami keanehan psqlpada Windows.

Dalam komentar saya, saya hanya ingin mengecualikan kemungkinan bahwa Anda benar - benar tidak memiliki izin yang diperlukan. Kemudian ternyata bahkan pada Windows, Anda harus menggunakan garis miring 'normal' bukan garis miring terbalik, yaitu:

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

seharusnya berfungsi dengan baik terlepas dari folder mana Anda mulai psql. Perhatikan bahwa saya menggunakan tanda kutip tunggal - dengan tanda kutip ganda yang Anda dapatkan

"C:/Users/Work/Desktop/School Work/load_database.sql": Invalid argument
dezso
sumber
Terima kasih, terima kasih. Bagaimana Anda tahu menggunakan tanda kutip tunggal dan bukan ganda? Apakah itu aturan umum untuk postgres atau apa bedanya?
Celeritas
1
@Celeritas Saya pikir ini adalah hasil dari konflik tentang bagaimana Windows menggunakan tanda kutip ganda di jalur dan bagaimana psql(dan PostgreSQL) menggunakannya dalam pengidentifikasi.
dezso
ini tidak bekerja untuk saya di windows10, garis miring ke depan dan semua, jawaban user68006 berhasil,
Scaramouche
1
@Scaramouche terima kasih atas umpan baliknya! Tampaknya, tidak semua izin yang ditolak dibuat sama.
dezso
6

Letakkan file di beberapa direktori dengan izin penuh untuk semua orang, seperti 'c: \ tmp'

ATAU

Tetapkan hak baca untuk file yang ingin Anda impor.

Saya memberikan izin membaca 'Semua Orang'.

Setelah mengimpor file, Anda dapat mencabut izin itu.

properti file windows

pengguna68006
sumber