Я пытаюсь вставить файл из CSV в свою Postgres БД. Нулевые типы определены с помощью \ N, но есть также некоторые пустые значения (v, r, s).
Я использую null '\N'
, который работает для значений \ N, но затем для пробела / пустого v, r, s столбцы, я получаю:
ОШИБКА: отсутствуют данные для столбца «v»
Если я не определяю null '\N'
, я получаю
ОШИБКА: недопустимый синтаксис ввода для целого числа: "\ N"
Как мне вставить эти данные с помощью команды копирования?
Текущая команда:
COPY transactions (block_id,index,hash,time,failed,type,sender,recipient,call_count,value,value_usd,internal_value,internal_value_usd,fee,fee_usd,gas_used,gas_limit,gas_price,input_hex,nonce,v,r,s) FROM 'transactions.tsv' WITH (FORMAT CSV , DELIMITER E'\t', HEADER, null '\N');
Пример набора данных:
block_id index hash time failed type sender recipient call_count value value_usd internal_value internal_value_usd fee fee_usd gas_used gas_limit gas_price input_hex nonce v r s
0 \N \N 2015-07-30 00:00:00 0 synthetic_coinbase \N 0x0000000000000000000000000000000000000000 1 0 5 0 5 0 0 0 0 0 0
0 \N \N 2015-07-30 00:00:00 0 synthetic_coinbase \N 0x3282791d6fd713f1e94f4bfd565eaa78b3a0599d 1 1337000000000000000000 1337 1337000000000000000000 1337 0 0 0 0 0 0
0 \N \N 2015-07-30 00:00:00 0 synthetic_coinbase \N 0x17961d633bcf20a7b029a7d94b7df4da2ec5427f 1 229427000000000000000 229.427 229427000000000000000 229.427 0 0 0 0 0 0