Comments (2)
Please read JSON spec (http://json.org/). It defines number
without quotation marks. Also, we wouldn't be consistent with postgres.
euler=# create table foo (a numeric(5,2));
CREATE TABLE
euler=# insert into foo values(1.23),(4.56),(7.89);
INSERT 0 3
euler=# select row_to_json(row(a)) from foo;
row_to_json
-------------
{"f1":1.23}
{"f1":4.56}
{"f1":7.89}
(3 rows)
from wal2json.
Oh, I entirely understand that regular numbers aren't quoted in JSON.
Doing some more testing it seems the text outputs of numerics do have the correct precision & scale, so it's (reasonably) up to the JSON parser how they're interpreted from text back into numbers.
eg.
# set extra_float_digits=3;
# create table x (id int primary key, a double precision, b numeric (30,20));
# insert into x values(10, '0.1'::float8*'0.1'::float8, '0.1'::numeric*'0.1'::numeric);
# select * from x;
id | a | b
----+-----------------------+-------------------------
10 | 0.0100000000000000019 | 0.01000000000000000000
produces
{
"change": [
{
"kind": "insert",
"schema": "public",
"table": "x",
"columnnames": ["id", "a", "b"],
"columntypes": ["integer", "double precision", "numeric(30,20)"],
"columnvalues": [10, 0.01, 0.01000000000000000000]
}
]
}
from wal2json.
Related Issues (20)
- Excluding empty changesets from being logged/streamed HOT 1
- [Feature Request] Add a way to output parsed `jsonb` or `json` fields HOT 1
- ERROR: could not start WAL streaming: ERROR: option "proto_version" = "1" is unknown HOT 4
- Output `NUMERIC` type as string in JSON HOT 8
- wal2json.c:461:11: error: no member named 'has_catalog_changes' in 'struct ReorderBufferTXN'
- PostgreSQL 15 support HOT 1
- wal2json limitation HOT 2
- Can't enable truncation for format-version 1 HOT 1
- WAL2JSON Format-1 not including Current lsn HOT 3
- When attempting logical decoding : /usr/lib64/pgsql/wal2json.so: undefined symbol: elog_finish HOT 2
- Change data not captured properly while operating with partition tables HOT 1
- Getting table name in double Quotes HOT 2
- Segmentation fault HOT 1
- ERROR: could not load library "C:/Program Files/PostgreSQL/9.5/lib/wal2json.dll": The specified module could not be found. HOT 1
- START_REPLICATION command does not work with wal2json options HOT 1
- NaN values are received as "null" for NUMERIC type while capturing change data HOT 4
- Invalid JSON with non-transactional message HOT 5
- WAL record received in different formats when the table name contains the single quote HOT 1
- Add support for update_replication_progress introduced in pg15
- Install failed on Alpine 15 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wal2json.