Autorisation refusée dans le fichier essayant d'importer

17

Lorsque j'essaie d'utiliser \iun fichier qui ne se trouve pas dans le dossier psql.exe, il est indiqué C:: permission denied. Par exemple, j'ai un fichier avec la commande SQL à C:\Users\Work\Desktop\School Work\load_database.sqlet quand je tape \i "C:\Users\Work\Desktop\School Work\load_database.sql"il est dit C:: permission denied. Comment puis-je réparer cela?

J'ai trouvé un travail ici où vous copiez le fichier .sql dans le même dossier que se trouve psql.exe.

Au fait, \ i représente-t-il l'importation?

Celeritas
la source

Réponses:

32

Vous venez de rencontrer une particularité de psqlWindows.

Dans mon commentaire, je voulais juste exclure la possibilité que vous ne disposiez pas vraiment de l'autorisation nécessaire. Ensuite, il s'est avéré que même sous Windows, vous devez utiliser des barres obliques «normales» au lieu de barres obliques inverses, c'est-à-dire:

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

devrait fonctionner correctement quel que soit le dossier à partir duquel vous démarrez psql. Notez que j'ai utilisé des guillemets simples - avec des guillemets doubles que vous aviez

"C:/Users/Work/Desktop/School Work/load_database.sql": Invalid argument
dezso
la source
Je l'ai Merci. Comment avez-vous su utiliser des guillemets simples et non doubles? Est-ce une règle générale pour les postgres ou quelle est la différence?
Celeritas
1
@Celeritas Je pense que c'est le résultat d'un conflit entre la façon dont Windows utilise les guillemets doubles dans les chemins et comment psql(et PostgreSQL) l'utilisent dans les identifiants.
dezso
cela n'a pas fonctionné pour moi dans windows10, les barres obliques et tout, la réponse de user68006 l'a fait, cependant
Scaramouche
1
@Scaramouche merci pour la rétroaction! Apparemment, toutes les autorisations refusées ne sont pas créées égales.
dezso
6

Mettez le fichier dans un répertoire avec une autorisation complète pour tout le monde, comme 'c: \ tmp'

OU

Définissez les privilèges de lecture sur le fichier que vous souhaitez importer.

J'ai mis la permission de lecture «Tout le monde».

Après avoir importé le fichier, vous pouvez révoquer cette autorisation.

propriétés du fichier Windows

user68006
la source