2017-05-30 1295 views
1

我剛開始試圖學習sql。我在編程方面是一個完整的noob(只是你知道)。
所以我的問題是,我試圖複製pgAdmin4 1.5中的sql表中現有的csv文件。Mac OS:PGAdmin 4錯誤:無法打開讀取文件:權限被拒絕。 SQL狀態:42501

於是我運行此查詢到的數據從CSV複製:

COPY console_games FROM '/users/user1/Desktop/ConsoleGames.csv' DELIMITER ',' CSV HEADER; 

我得到這樣的結果:

********** Error ********** 

ERROR: could not open file "/Users/user1/Desktop/ConsoleGames.csv" for reading: Permission denied 
SQL state: 42501 

我已經改變了這個文件的權限爲所有用戶可讀寫,但我仍然得到錯誤。

請幫忙! (考慮到我是一個絕對的新手)

如果你需要更多的信息來解決這個問題,我會盡我所能找到它!

+1

1.嘗試設置包含文件夾的讀取權限2.您沒有提及您的postgres服務器與文件位於同一主機上 – Eugene

+0

非常感謝Eugene! 1.解決我的問題 –

+0

我去到每一個包含文件夾獲取信息,增加了在Sharings和權限選項卡posgres並把它只讀的privilages。再次感謝!! –

回答

2

使用PgAdmin4的批量加載功能導入CSV。這將在幕後做一個COPY ... FROM STDIN。 PgAdmin4將以您的用戶權限訪問該文件,而不是像文件意願中的直接COPY那樣的postgres服務器。

+0

非常感謝Craig!在每個包含文件夾的Sharings和Permissions中添加postgres並賦予其只讀權限解決了我的問題。儘管如此,pgAdmin中的批量加載功能看起來非常有用,請您詳細介紹一下這個功能吧? –

+0

@KostasDaglis我不使用PgAdmin,所以我無法幫助更多。手冊可能?我知道PgAdmin3具有導入/導出功能,但PgAdmin4是一個重寫 - 我不確定它是否或在哪裏。 –

相關問題