Обсуждение: ERROR: type "myrowtype" does not exist
I was reading the json_populate_record function from the official doc https://www.postgresql.org/docs/10/static/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE. The doc mentioned examples are giving me errors
psql (11.0, server 10.5)
Type "help" for help.
aruprakshit=# select * from json_populate_record(null::extype, '{"x":"foo", "y":43, "q": true}');
ERROR: type "extype" does not exist
LINE 1: select * from json_populate_record(null::extype, '{"x":"foo"...
^
aruprakshit=# select * from json_populate_record(null::myrowtype, '{"a": 1, "b": ["2", "a b"], "c": {"d": 4, "e": "a b c"}}');
ERROR: type "myrowtype" does not exist
LINE 1: select * from json_populate_record(null::myrowtype, '{"a": 1…
What does null::extype, null::myrowtype mean here ?
On 10/26/18 4:54 AM, Arup Rakshit wrote: > I was reading the json_populate_record function from the official doc > https://www.postgresql.org/docs/10/static/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE. > The doc mentioned examples are giving me errors > > psql (11.0, server 10.5) > Type "help" for help. > > aruprakshit=# select * from json_populate_record(null::extype, > '{"x":"foo", "y":43, "q": true}'); > ERROR: type "extype" does not exist > LINE 1: select * from json_populate_record(null::extype, '{"x":"foo"... > ^ > aruprakshit=# select * from json_populate_record(null::myrowtype, '{"a": > 1, "b": ["2", "a b"], "c": {"d": 4, "e": "a b c"}}'); > ERROR: type "myrowtype" does not exist > LINE 1: select * from json_populate_record(null::myrowtype, '{"a": 1… > > What does null::extype, null::myrowtype mean here ? See this thread: https://www.postgresql.org/message-id/2a8ae0b7-1fd4-869a-a25e-d598968898c9%40aklaver.com In meantime: CREATE TABLE public.test_table ( id integer, username character varying, fullname character varying ); test=> \d test_table Table "public.test_table" Column | Type | Collation | Nullable | Default ----------+-------------------+-----------+----------+--------- id | integer | | | username | character varying | | | fullname | character varying | | | test=> select * from json_populate_record(null::test_table, '{"id": 1, "username": "adrian", "fullname": "adrian klaver"}') ; id | username | fullname ----+----------+--------------- 1 | adrian | adrian klaver (1 row) So myrowtype is just a placeholder in the docs for a rowtype that you need to supply. > > > Thanks, > > Arup Rakshit > ar@zeit.io <mailto:ar@zeit.io> > > > -- Adrian Klaver adrian.klaver@aklaver.com