값에 큰 따옴표가있는 hstore 필드에 Postgres COPY

게오르그

COPY명령을 사용하여 CSV 파일에서 Postgres 12 데이터베이스를 채우려 고 몇 시간 동안 노력해 왔습니다 . 문제의 테이블에는 hstore필드가 있고 키-값 쌍 중 하나의 값에 큰 따옴표 "가 있습니다.

Postgres 데이터베이스는 다음과 같이 생성됩니다.

CREATE TABLE test ( 
    title VARCHAR(20),
    tags hstore
);

CSV 파일은 tabs구분자로 사용 되며 다음과 같습니다.

My Title | name=>"""Paul "Butch" Newman""", job=>actor

이름 값은 공백을 포함하므로 큰 따옴표로 묶고 이스케이프해야합니다.

| 하나의 탭 문자를 나타냅니다.

내 수입 명세서는 다음과 같습니다.

COPY test (title, tags) 
FROM '/var/lib/postgresql/data/test.csv'
DELIMITER E'\t' CSV ENCODING 'UTF8';

데이터베이스가 예상대로 채워지지만 쿼리 할 때

SELECT tags->'name' as name FROM test;

pgAdmin 4 반환

Paul Butch Newman

대신에

Paul "Butch" Newman

내 질문은 실제 hstore 값에 큰 따옴표를 얻는 방법입니다.

텍스트 필드로 가져올 때 큰 따옴표에 대한 많은 답변을 찾았습니다. 그러나 여기서 가져 오기는 hstore필드 로 가져오고 값은 공백을 포함하므로 여기에서 큰 따옴표로 묶어야합니다.

감사!

마이크 오가 넥

방금 이걸 현지에서 연주했습니다.

입력 파일의 형식을 제어 할 수 있다고 가정합니다.

문제는 CSV 형식 ""이 큰 따옴표로 묶인 요소 내에서 발견 된 요소를 "전달할 때로 변환한다는 것입니다.

이것은 내가 원하는 결과를 얻는 데 도움이되었습니다.

My Title | name=>"""Paul \""Butch\"" Newman""", job=>actor

CSV 핸들러가 큰 따옴표를 작은 따옴표로 바꾸어 이스케이프 처리를 완료하면으로 전달 name=>"Paul \"Butch\" Newman", job=>actor됩니다. insert이는 psql 또는 PgAdmin에서 리터럴로 작성하는 방법입니다.

select tags->'name' as name
  from test_hstor;

        name         
---------------------
 Paul "Butch" Newman
(1 row)

호기심 때문에 csv 대신 텍스트로 가져 오는지 확인했으며 입력 레코드가 name=>"Paul \\"Butch\\" Newman", job=>actor제대로 작동 하려면 포함 해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Postgres에서 HSTORE의 가장 큰 키에 대한 제약 조건 확인

분류에서Dev

Snowflake COPY INTO는 데이터 값의 큰 따옴표 값에서 실패합니다.

분류에서Dev

큰 따옴표 안에 따옴표가있는 토큰을 인식하는 방법

분류에서Dev

FileHelpers BeforeReadRecords 이벤트에서 두 개의 큰 따옴표가있는 필드에서 모든 작은 큰 따옴표를 조작하는 정규식

분류에서Dev

큰 따옴표 사이에있는 문자열 가져 오기

분류에서Dev

문자열에 큰 따옴표가있는 Impala Shell 쿼리 -q

분류에서Dev

큰 따옴표 아래에있는 값을 가져와야합니다.

분류에서Dev

작은 따옴표와 큰 따옴표가 모두있는 표현식을 어떻게 에코합니까?

분류에서Dev

따옴표와 큰 따옴표가있는 인수를 bash 스크립트에 전달

분류에서Dev

큰 따옴표와 작은 따옴표가있는 문자열을 EF에서 SQL로 저장

분류에서Dev

작은 따옴표와 큰 따옴표가있는 인수를 쉘 스크립트에 전달

분류에서Dev

Regex 표현식에 큰 따옴표가있는 수식 구문 분석 오류

분류에서Dev

Postgres (plpgsql)에서 큰 따옴표를 작은 따옴표로 바꾸기

분류에서Dev

Hive에서 큰 따옴표가 있거나없는 데이터 처리

분류에서Dev

PHP : 변수의 큰 따옴표 안에있는 if 또는 foreach 문

분류에서Dev

파이프 라인 변수 설정에 불필요한 큰 따옴표 또는 작은 따옴표가 있습니다.

분류에서Dev

큰 따옴표로 문자열 추출 (문자열에 쌍 큰 따옴표가 있음)

분류에서Dev

문자열에 큰 따옴표가 있으면 Movlet 실패

분류에서Dev

Postgres-이스케이프 된 큰 따옴표 안에 큰 따옴표를 이스케이프

분류에서Dev

큰 따옴표 ( "") 안에있는 다른 시트의 셀 참조

분류에서Dev

jQuery는 큰 따옴표 안에 입력 값을 가져옵니다.

분류에서Dev

sed + 큰 따옴표 안에 값 설정

분류에서Dev

템플릿 리터럴 (백틱 따옴표)이 있으므로 JavaScript에 여전히 작은 따옴표 또는 큰 따옴표가 필요한 경우가 있습니까?

분류에서Dev

messages.properties에서 큰 따옴표가있는 문자열이 올바르게 표시되지 않음

분류에서Dev

파이썬 목록에서 작은 따옴표가있는 문자열 요소를 큰 따옴표로 변환하는 방법

분류에서Dev

Postgres에는 hstore 확장이 없습니다.

분류에서Dev

또는와 결합 된 여러 postgres hstore에 대한 쿼리

분류에서Dev

Rails + Postgres에서 hstore 키의 이름을 바꾸는 방법

분류에서Dev

큰 따옴표가있는 문자열의 Google 스프레드 시트 REGEXEXTRACT 숫자 값

Related 관련 기사

  1. 1

    Postgres에서 HSTORE의 가장 큰 키에 대한 제약 조건 확인

  2. 2

    Snowflake COPY INTO는 데이터 값의 큰 따옴표 값에서 실패합니다.

  3. 3

    큰 따옴표 안에 따옴표가있는 토큰을 인식하는 방법

  4. 4

    FileHelpers BeforeReadRecords 이벤트에서 두 개의 큰 따옴표가있는 필드에서 모든 작은 큰 따옴표를 조작하는 정규식

  5. 5

    큰 따옴표 사이에있는 문자열 가져 오기

  6. 6

    문자열에 큰 따옴표가있는 Impala Shell 쿼리 -q

  7. 7

    큰 따옴표 아래에있는 값을 가져와야합니다.

  8. 8

    작은 따옴표와 큰 따옴표가 모두있는 표현식을 어떻게 에코합니까?

  9. 9

    따옴표와 큰 따옴표가있는 인수를 bash 스크립트에 전달

  10. 10

    큰 따옴표와 작은 따옴표가있는 문자열을 EF에서 SQL로 저장

  11. 11

    작은 따옴표와 큰 따옴표가있는 인수를 쉘 스크립트에 전달

  12. 12

    Regex 표현식에 큰 따옴표가있는 수식 구문 분석 오류

  13. 13

    Postgres (plpgsql)에서 큰 따옴표를 작은 따옴표로 바꾸기

  14. 14

    Hive에서 큰 따옴표가 있거나없는 데이터 처리

  15. 15

    PHP : 변수의 큰 따옴표 안에있는 if 또는 foreach 문

  16. 16

    파이프 라인 변수 설정에 불필요한 큰 따옴표 또는 작은 따옴표가 있습니다.

  17. 17

    큰 따옴표로 문자열 추출 (문자열에 쌍 큰 따옴표가 있음)

  18. 18

    문자열에 큰 따옴표가 있으면 Movlet 실패

  19. 19

    Postgres-이스케이프 된 큰 따옴표 안에 큰 따옴표를 이스케이프

  20. 20

    큰 따옴표 ( "") 안에있는 다른 시트의 셀 참조

  21. 21

    jQuery는 큰 따옴표 안에 입력 값을 가져옵니다.

  22. 22

    sed + 큰 따옴표 안에 값 설정

  23. 23

    템플릿 리터럴 (백틱 따옴표)이 있으므로 JavaScript에 여전히 작은 따옴표 또는 큰 따옴표가 필요한 경우가 있습니까?

  24. 24

    messages.properties에서 큰 따옴표가있는 문자열이 올바르게 표시되지 않음

  25. 25

    파이썬 목록에서 작은 따옴표가있는 문자열 요소를 큰 따옴표로 변환하는 방법

  26. 26

    Postgres에는 hstore 확장이 없습니다.

  27. 27

    또는와 결합 된 여러 postgres hstore에 대한 쿼리

  28. 28

    Rails + Postgres에서 hstore 키의 이름을 바꾸는 방법

  29. 29

    큰 따옴표가있는 문자열의 Google 스프레드 시트 REGEXEXTRACT 숫자 값

뜨겁다태그

보관