sql >> Database >  >> RDS >> PostgreSQL

Postgres kan CSV-bestand niet openen voor leestoegang:Toestemming geweigerd

Ik ben dit probleem eerder tegengekomen en in plaats van de hele tijd met machtigingen te rommelen, importeer ik gewoon vanuit STDIN.

Dit zou bereiken wat je wilt (hoewel niet precies zoals je het wilt doen), maar ik denk dat het een stuk minder omslachtig en foutgevoelig is. Probeer:

cat /pgsrc/IP2LOCATION-LITE-DB9.CSV | psql -c "COPY ip2location_db1 FROM STDIN (FORMAT CSV);"

Dit houdt wel in dat je de query uitvoert vanuit een shellscript of zoiets, maar om het andersom te implementeren, zou je de wijziging van de rechten moeten opnemen in een shellscript of zoiets.

(Ook volgens de documenten , het standaard aanhalingsteken is het dubbele aanhalingsteken, dus u hoeft het aanhalingsteken niet op te geven.)




  1. Update als de naam bestaat, anders invoegen - in SQL Server

  2. Laravel 5 gebruikt OR-conditie met BETWEEN

  3. Krijg alle procedurele, door de gebruiker gedefinieerde functies

  4. PL/Python &postgreSQL:Wat is de beste manier om een ​​tabel met veel kolommen te retourneren?