Как использовать команду COPY с \ N и '' как null [два типа null] - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь вставить файл из 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

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