Невозможно импортировать .csv в Cloud SQL из консоли - PullRequest
0 голосов
/ 22 января 2019

Я безуспешно пытался импортировать CSV-файл в Cloud SQL (PostgreSQL) несколькими способами.

psql -f import.sql не работает. В нем говорится, что я должен быть суперпользователем для импорта, но это \ copy работает.

Итак, я попробовал \ скопировать, и это не удалось. Я получаю:

postgres=> \copy ppw_raw FROM 'H:\data\data.csv' WITH (FORMAT csv);

server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

Итак, наконец, я пытаюсь из https://console.cloud.google.com/path-to-sql-instance

Я загружаю .csv в корзину, затем нажимаю все кнопки, чтобы импортировать .csv (в корзину), в нужную БД / таблицу и пользователя, которого я хочу импортировать как (пользователя, который создал таблица, которой принадлежит база данных, которую я выбираю),

и я получаю всплывающее сообщение:

Import failed:  Import CSV error: ERROR: relation "<my-table-name>"
does not exist.

но таблица действительно существует. Команда создания таблицы была успешной, и когда я описываю таблицу, она существует.

Сейчас я пробовал три разных способа импорта .csv, у меня очень жесткий срок для отчета.

Кто-нибудь мог успешно импортировать файл .csv в Google Cloud SQL / PostgreSQL любым способом?

1 Ответ

0 голосов
/ 23 января 2019

Я пытался различными способами импортировать пользовательский файл CSV в экземпляр базы данных CloudSQL (PostgreSQL).Похоже, вы пытаетесь импортировать данные в таблицу, которая не существует в вашей базе данных.У меня была та же ошибка, когда я пытался импортировать в несуществующую таблицу.

Чтобы импортировать файл CSV, убедитесь, что:

  • Файл CSV имеет такое же количество столбцов, что и таблица в базе данных.
  • Данные в файле правильно структурированы для представления файла CSV.
  • Перед импортом файла CSV в CloudSQL,сначала экспортируйте пару строк из таблицы и откройте файл, чтобы увидеть, как представлены данные.Сравните данные с файлом CSV, который вы хотите импортировать, и убедитесь, что данные представлены одинаково.При экспорте консоли формы выберите папку корзины, в которую будет экспортироваться CSV, выберите опцию CSV и в SQL query добавьте следующую команду SELECT * FROM products LIMIT 5;.Он будет экспортировать только первые 5 записей из базы данных, поэтому это не займет много времени.

Чтобы импортировать файл в базу данных CloudSQL (PostgreSQL):

Сначала убедитесь, что таблица существует в базе данных.Подключитесь к своему экземпляру CloudSQl (PostgreSQL).Запустите команду SELECT * FROM pg_catalog.pg_tables;, чтобы получить список всех таблиц.Если вы нашли свою таблицу в списке, используйте то же имя для Table при импорте данных в базу данных.

  1. Загрузите файл CSV в папку корзины

  2. Найдите экземпляр CloudSQL (PostgreSQL) на странице SQL и щелкните по имени экземпляра.

  3. На странице Instance details нажмите Import.

  4. В Cloud Storage file выберите файл CSV из корзины.

  5. В Format of import выберите CSV

  6. В table введите имя таблицы, в которую вы хотите импортировать данные.

  7. Нажмите Import, и данные будут импортированы.

Я попробовал описанные выше методы и успешно загрузил пользовательский файл CSV в CloudSQL (PostgreSQL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...