PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres kann CSV-Datei nicht für Lesezugriff öffnen:Berechtigung verweigert

Ich bin schon früher auf dieses Problem gestoßen, und anstatt ständig mit Berechtigungen herumzuspielen, importiere ich einfach aus STDIN.

Dies würde das erreichen, was Sie möchten (wenn auch nicht genau so, wie Sie es tun möchten), aber ich denke, es ist viel weniger umständlich und fehleranfällig. Versuchen Sie:

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

Das impliziert, dass Sie die Abfrage von einem Shell-Skript oder so etwas ausführen, aber um es anders zu implementieren, müssten Sie die Änderung der Berechtigungen mit einem Shell-Skript oder so etwas einbinden.

(Auch laut den Dokumenten , das Standard-Anführungszeichen ist das doppelte Anführungszeichen, sodass Sie das Anführungszeichen nicht angeben müssen.)