From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Timothy Garnett <tgarnett(at)panjiva(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Removing null bytes from a json column |
Date: | 2017-06-11 15:02:03 |
Message-ID: | 28018.1497193323@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Timothy Garnett <tgarnett(at)panjiva(dot)com> writes:
> Does anyone have some tips on how to deal with an existing json type column
> that has some null bytes ( \u0000) in it? It seems like anything I do that
> touches any row with a null byte just errors. I'd love to just remove them
> if I could find some way to find them, but I'm having trouble even figuring
> out how to do that.
Doesn't it work to cast to text and do a LIKE or regex search?
regression=# select '{"z":"\u0000"}'::json::text ~ '\\u0000';
?column?
----------
t
(1 row)
regression=# select '{"z":"\u0001"}'::json::text ~ '\\u0000';
?column?
----------
f
(1 row)
It's true that we won't let you cast such a value to JSONB or do any
exciting JSON-ish manipulations on it, but I'm not seeing an error
in cast-to-text.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | pinker | 2017-06-11 15:02:17 | Re: Huge Pages - setting the right value |
Previous Message | Alvaro Herrera | 2017-06-11 08:17:01 | Re: ERROR: unexpected chunk number 0 (expected 1) for toast value 76753264 in pg_toast_10920100 |