У меня есть экземпляр Cloud SQL с PostgreSQL и файл .csv на моем локальном компьютере.
Я создал пользователя и базу данных. Я вошел в систему как этот пользователь с этой базой данных и создал таблицу, соответствующую моему CSV-файлу.
У меня есть файл .csv и файл import.sql со следующим:
COPY <my-table-name>
FROM 'C:\<path-to>\data.csv'
WITH (FORMAT csv);
Когда я запускаю команду psql:
psql -f import.sql <connection string>
Я вернусь:
psql:./import.sql:3: ERROR: must be superuser to COPY to or from a file
HINT: Anyone can COPY to stdout or from stdin. psql's \copy command also works for anyone.
Я попытался сделать своего пользователя «суперпользователем», сделав это как пользователь postgres
, но получил следующее:
psql:./add-superuser.sql:1: ERROR: must be superuser to alter superusers
Показывает всех пользователей, показывает:
postgres-> \du
cloudsqladmin | Superuser, Create role, Create DB, Replication, Bypass RLS
cloudsqlagent | Create role, Create DB | {cloudsqlsuperuser}
cloudsqlreplica | Replication | {}
cloudsqlsuperuser | Create role, Create DB | {}
<my-user> | Create role, Create DB | {cloudsqlsuperuser}
postgres | Create role, Create DB | {cloudsqlsuperuser}
postgres
является облачным суперпользователем, но не «суперпользователем». Как мне импортировать этот файл .csv?
Я не знаю, как войти в систему / получить доступ как пользователь cloudsqladmin
или предоставить роль, позволяющую импортировать файл. Я отчаянно нуждаюсь в быстрой помощи.
Документация Google в этой единственной области Cloud Sql с Postgres ужасна. Это сбивает меня с толку и очень сбивает с толку.