из таблицы в csv формате.
Пытаюсь вставить в таблицу через \copy, но ловлю ошибку:
ERROR: invalid input syntax for type json
DETAIL: Token "email_address" is invalid.
CONTEXT: JSON data, line 1: {email_address...
Пример строки:
00000124-b980-4d7c-b546-e84ff6f2b983|210|adhoc-22139-auto-0|30009|Elvis+4061||Driver+1817|ACTIVE||{"email_address": "xxx@gmail.com", "phone_number": "+1 111-111-1111"}|x@example.com|167281|f|f|2022-06-03 09:09:25.831189+00:00|2022-06-03 09:09:25.831189+00:00||empty|f|1|||0001-01-01 00:00:00+00:00|f|G077SWC98||||30009 Elvis+4061 Driver+1111 111111 xxx@gmail.com +1 111-111-1111|||
Можно попробовать какой-то другой QUOTE-символ в опциях COPY, чтобы не удалялись кавычки, нужные для типа json.
""xxx@gmail.com""
qoute-символ это не DELIMITER? Можно чуть-чуть подробнее? Копирую через \copy drivers(id, city_id, tenant_id, external_id, first_name, middle_name, last_name, status, status_description, attributes, performing_user, license_number, test_data, published, created_at, updated_at, disabled_at, vendor_id, is_placeholder, access_store, type, pets_id, birth_date, extended_work_permit, referral_code, referrer_code, vehicle_partner_id, service_area_ids, fts_data, visual_id, fuel_card_pin, data_tracking_consent) FROM '/Users/user/ISR-7945/1-data-drivers.csv' DELIMITER '|' CSV HEADER;
У меня там одни кавычки же 🤔
Можно попробовать какой-то нигде не встречающийся символ в качестве QUOTE, но нет гарантии, что это не испортит копирование других полей. Правильно вызывать COPY с теми же опциями, которые были при выгрузке. \COPY drivers (...) FROM '...' DELIMITER '|' QUOTE E'\x01' CSV HEADER
Спасибо, понял. Я ведь могу задать что-то вроде QUOTE '//////', чтобы точно не встретилась подстрока в данных
В QUOTE разрешается только одиночный символ.
Обсуждают сегодня