У доступі відхилено файл, який намагається імпортувати


18

Коли я намагаюся використовувати \iфайл, який не знаходиться в папці psql.exe, він говорить C:: permission denied. Наприклад, у мене є файл із командою SQL у, C:\Users\Work\Desktop\School Work\load_database.sqlі коли я \i "C:\Users\Work\Desktop\School Work\load_database.sql"його набираю, він каже C:: permission denied. Як я можу це виправити?

Я знайшов роботу навколо тут , де ви копіюєте файл .sql в ту ж папку, psql.exe в.

До речі, чи є я для імпорту?

Відповіді:


34

Ви просто зіткнулися з особливістю psqlWindows.

У своєму коментарі я просто хотів виключити можливість того, що ви насправді не мали необхідного дозволу. Тоді виявилося, що навіть у Windows, ви повинні використовувати "звичайні" косої риски замість зворотних косих рисів, тобто:

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

має працювати добре незалежно від того, з якої папки ви починаєте psql. Зверніть увагу, що я використав одинарні лапки - з подвійними цитатами

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

Зрозумів дякую. Як ви знали використовувати одинарні, а не подвійні лапки? Це загальне правило для постгресів чи в чому різниця?
Селерітас

1
@Celeritas Я думаю, що це результат конфлікту того, як Windows використовує подвійні лапки в шляхах і як psql(і PostgreSQL) використовують його в ідентифікаторах.
dezso

це не спрацювало для мене в Windows10 , нахилах вперед і тому подібному, відповідь користувача68006 зробив, хоча
Scaramouche

1
@Scaramouche дякую за відгук! Мабуть, не всі відхилені дозволи створюються рівними.
dezso

6

Помістіть файл у деякий каталог з повним дозволом для всіх, наприклад, "c: \ tmp"

АБО

Встановіть права доступу до файлу, який ви бажаєте імпортувати.

Я поклав дозвіл на читання "Усі".

Після імпорту файла ви можете відкликати цей дозвіл.

Властивості файлу Windows

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.