Autorizzazione negata nel file durante il tentativo di importazione


17

Quando provo ad usare \iun file che non si trova nella cartella psql.exe, dice C:: permission denied. Ad esempio ho un file con il comando SQL su C:\Users\Work\Desktop\School Work\load_database.sqle quando scrivo \i "C:\Users\Work\Desktop\School Work\load_database.sql"dice C:: permission denied. Come posso risolvere questo problema?

Ho trovato un lavoro qui dove si copia il file .sql nella stessa cartella in cui si trova psql.exe.

Tra l'altro, non \ i sto per l'importazione?

Risposte:


32

Ti sei appena imbattuto in una particolarità di psqlsu Windows.

Nel mio commento volevo solo escludere la possibilità che tu non avessi davvero il permesso necessario. Quindi si è scoperto che anche su Windows, è necessario utilizzare barre "normali" anziché barre rovesciate, ovvero:

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

dovrebbe funzionare bene indipendentemente dalla cartella da cui inizi psql. Nota che ho usato virgolette singole, con virgolette doppie che avresti ottenuto

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

Capito grazie. Come hai saputo usare virgolette singole e non doppie? È una regola generale per Postgres o qual è la differenza?
Celeritas,

1
@Celeritas Penso che sia il risultato di un conflitto su come Windows usa le doppie virgolette nei percorsi e come psql(e PostgreSQL) lo usano negli identificatori.
dezso,

questo non ha funzionato per me in windows10, in avanti e poi, la risposta di user68006 ha funzionato, però
Scaramouche,

1
@Scaramouche grazie per il feedback! Apparentemente, non tutte le autorizzazioni negate sono uguali.
dezso

6

Metti il ​​file in una directory con il pieno permesso a tutti, come 'c: \ tmp'

O

Imposta i privilegi di lettura sul file che desideri importare.

Ho messo il permesso di lettura di "Tutti".

Dopo aver importato il file, è possibile revocare tale autorizzazione.

proprietà del file di Windows

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.