У меня есть экземпляр 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
- это cloudqlsuperuser, но не «Superuser».Как импортировать этот файл .csv?
Я не знаю, как войти в систему / получить доступ от имени пользователя cloudsqladmin
или предоставить роль, позволяющую импортировать файл.Мне очень нужна срочная помощь.
Документация Google в этой области Cloud Sql с Postgres ужасна.Он посылает меня повсюду и очень сбивает с толку.