{"kind": "type", "slug": "money", "name": "money", "major": "18", "snapshot": {"casts": [{"castfunc": "numeric(money)", "castmethod": "f", "castsource": "money", "casttarget": "numeric", "castcontext": "a"}, {"castfunc": "money(numeric)", "castmethod": "f", "castsource": "numeric", "casttarget": "money", "castcontext": "a"}, {"castfunc": "money(int4)", "castmethod": "f", "castsource": "int4", "casttarget": "money", "castcontext": "a"}, {"castfunc": "money(int8)", "castmethod": "f", "castsource": "int8", "casttarget": "money", "castcontext": "a"}], "facts": [{"label": "Catalog name", "value": "pg_catalog.money"}, {"label": "Type OID", "value": "790"}, {"label": "Type kind", "value": "Base type"}, {"label": "Declared length", "value": "8 bytes"}, {"label": "Storage strategy", "value": "plain"}, {"label": "Input function", "value": "cash_in"}, {"label": "Output function", "value": "cash_out"}, {"label": "Documented declaration", "value": "money"}, {"label": "Storage Size", "value": "8 bytes"}, {"label": "Manual description", "value": "currency amount"}, {"label": "Range", "value": "-92233720368547758.08 to +92233720368547758.07"}], "ranges": [], "aliases": [], "catalog": {"oid": "790", "descr": "monetary amounts, $d,ddd.cc", "typacl": "_null_", "typlen": "8", "typelem": "0", "typname": "money", "typsend": "cash_send", "typtype": "b", "typalign": "d", "typarray": "0", "typbyval": "FLOAT8PASSBYVAL", "typdelim": "','", "typinput": "cash_in", "typmodin": "-", "typndims": "0", "typowner": "POSTGRES", "typrelid": "0", "typmodout": "-", "typoutput": "cash_out", "typtypmod": "-1", "typanalyze": "-", "typdefault": "_null_", "typnotnull": "f", "typreceive": "cash_recv", "typstorage": "p", "typbasetype": "0", "typcategory": "N", "typcollation": "0", "typisdefined": "t", "typnamespace": "pg_catalog", "typsubscript": "-", "typdefaultbin": "_null_", "array_type_oid": "791", "typispreferred": "f", "array_type_name": "_money"}, "related": [{"url": "/wiki/catalog/pg_type/?v=18", "label": "pg_type catalog"}, {"url": "/wiki/catalog/pg_cast/?v=18", "label": "pg_cast catalog"}, {"url": "/wiki/catalog/pg_operator/?v=18", "label": "pg_operator catalog"}, {"url": "/wiki/catalog/pg_opclass/?v=18", "label": "pg_opclass catalog"}, {"url": "/wiki/type/arrays/?v=18", "label": "Arrays"}, {"url": "/wiki/indexam/btree/?v=18", "label": "btree index access method"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f", "source_files": {"doc/src/sgml/datatype.sgml": "86328daa77e20d81d222376ec0306d9841a17104e436c08d138eb763aefb3700", "src/include/catalog/pg_am.h": "3426799df799f32163fcc0765f43dbdb5e88e626acf31284fef9fc6014b69d8e", "src/include/catalog/pg_am.dat": "b3cb86b102a42fb0024cbd99779c9897afb40d12a71f5cc5a0e5aee7ff2f9969", "src/include/catalog/pg_cast.h": "de585c7df687d698e7d1d100dce8a794ac9da52414ea48169191019178c8f053", "src/include/catalog/pg_proc.h": "f7d59f07c5b95e2f3c7141762a0f576e8a3af7581ba54c27537f4d500472bea5", "src/include/catalog/pg_type.h": "8fb198749fd82b6c1818a3c18455f226f66116fcfeb3d4959c65ce3fda22802e", "src/include/catalog/pg_range.h": "45546d952b5181f989bd9234721897fc2b37005c8e49ce2ddc156f26974c3ca4", "src/include/catalog/pg_cast.dat": "97911281ca2c81917394ccb2ec13367e37c6801fd461d5e1a3d2f28b911b46b2", "src/include/catalog/pg_proc.dat": "1f934ce80d460159dda137714374a35f9896315ea2476709cbb4da13b38ef95a", "src/include/catalog/pg_type.dat": "5f5887b75677cba2d4a1a0cfeb355df5ed91f85d385fac88bd8d7c605b3578f9", "src/include/catalog/pg_opclass.h": "9c218537806c8ef0398302faaca7f91315dfc1198c48706cebffb479b68defaf", "src/include/catalog/pg_range.dat": "5c2271f8e89e9378d1887204e5785060b77405b5f0ff3e6c719250c9c1dcfcc4", "src/include/catalog/pg_operator.h": "621b18cfffe102413d79b746ce7a10f77fc60fdd097bac34c22b31070d3ee3c4", "src/include/catalog/pg_opfamily.h": "e1f5fc8aebd3042df847455bf66bf755f768c2aa8a9b03d22f7ec8563eba59c0", "src/include/catalog/pg_opclass.dat": "4ee7d3619a6aa106e1c0db55de903931c7d11b1c60ba053a022519c55f8ee668", "src/include/catalog/pg_operator.dat": "5d35b9b2ef5f9797cc815263927ef8a12367fedace53e828b4e8b320e2a7f703", "src/include/catalog/pg_opfamily.dat": "3b694879027b858f2ecf1fa1152b7e30c6e15a216ba99c2384291c30e9d52311"}, "manual_sha256": {"arrays.html": "0e1d5c5a7b4a949d4439995f44f74ad4264e050d16eb9ad2a850fbaee04032df", "domains.html": "82d486973ccc35d14276627a67ac76b434452f23f9ed4d8aa3fbb01fdf285fc2", "datatype.html": "e581f67c74e42006289638c8659e9b338adbfd7f068bd8bf2b3be3880fcd2254", "rowtypes.html": "74f99e029c3a9edfd3e18810ba3c8cb66d3aada91eb67b86476560871e6617e9", "rangetypes.html": "e4960abc7ce8e51d794f94f1e57b099d30b7f75dd7f2b23a960eef91f6291c33", "datatype-bit.html": "c49124aad561636c18080b9e09572fde7785a6b9eae86f5a33283f0fd6774c37", "datatype-oid.html": "8b3360302225f08ae72716ce1804596de95b568e5d31f788cb4597427b28cc38", "datatype-xml.html": "061fc2295b7b69be704f0a741b8decd10ad721059f871fb0243c669bb54d7822", "datatype-enum.html": "cab38e53222e30cc94b24de4b33634fd22d7c93f58ebcf35f646c9b8da78fae8", "datatype-json.html": "650162a05b660146b500a205d523374d00aee117a6a6240d30262be51b6e33e5", "datatype-uuid.html": "292b307b3223c6182bdba687e7f69e6dca9038430143ad79d56327f6ed4c3246", "datatype-money.html": "8b29c14b90679683ac5c472b59a0a7e2853f32cc7db43fab417b2697a6879964", "functions-info.html": "78ac80bf81da2e4f4a33f3b850faa86f0f58ec54a083d6c31da557907de0df87", "catalog-pg-type.html": "ea9c9313bab8e92a7da18ebc50c7ff1f908dd80999a7e0ca3bbc82ba626c58d4", "datatype-binary.html": "0c03ec47b76e37888a3da7f5dcfd340128a5d356642a85185cc9ebe17856a904", "datatype-pg-lsn.html": "339172f5107cc7eb7139bec911277647219e92a532cebd0f3da0a5dacf8195af", "datatype-pseudo.html": "c7cf0b8214304bd8702c95f2142671ae5f0d631f83717f9c07d9e1f2579961b4", "datatype-boolean.html": "b633f663e6c8276e7056287640c413aa79dbc15d5353cee0d41653d58d376956", "datatype-numeric.html": "b74619f7ac2f1ca9f85c48073df78c33dd30e464e61baba6008634534edcb500", "sql-createdomain.html": "e94f927196de1b0ea1ce35cd4603c1f6f544439adcc0edf1c4222358e832245b", "datatype-datetime.html": "e366275d8b13845bfa4ef0d68faa093e5f3ecb708a1ec870cbcbf7e425b85699", "datatype-character.html": "c73eebe413ea709a7792e4cfc3cfe9fb68cb496ebe83c3ebaa9d09f8c40d0f73", "datatype-geometric.html": "0eb3053cfe7d6b0a4b5592c5d7af8d97cae527e87f063c5793413bcba5c14cd9", "datatype-net-types.html": "96846e641cc37727ddcd8b8a1aa0dbe33cd9787760a2b4efb0dcb9403d5be63f", "datatype-textsearch.html": "4b15e05be8b49a71b28aea22f2c46d0dbf639a91e7b4fe129a4c737c6daad47c"}, "source_sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/datatype-money.html", "path": "datatype-money.html", "label": "PostgreSQL 18 English manual", "sha256": "8b29c14b90679683ac5c472b59a0a7e2853f32cc7db43fab417b2697a6879964"}, {"url": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "Matching PostgreSQL source archive", "sha256": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}], "coverage": "source inventory; exact declared input types for operator classes", "sections": [], "operators": [{"oid": "843", "descr": "multiply", "oprcom": "*(float4,money)", "oprcode": "cash_mul_flt4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "float4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "844", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_flt4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "float4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "845", "descr": "multiply", "oprcom": "*(money,float4)", "oprcode": "flt4_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "float4", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "900", "descr": "equal", "oprcom": "=(money,money)", "oprcode": "cash_eq", "oprjoin": "eqjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "=", "oprrest": "eqsel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "<>(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "t", "oprnamespace": "pg_catalog"}, {"oid": "901", "descr": "not equal", "oprcom": "<>(money,money)", "oprcode": "cash_ne", "oprjoin": "neqjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<>", "oprrest": "neqsel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "902", "descr": "less than", "oprcom": ">(money,money)", "oprcode": "cash_lt", "oprjoin": "scalarltjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<", "oprrest": "scalarltsel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": ">=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "903", "descr": "greater than", "oprcom": "<(money,money)", "oprcode": "cash_gt", "oprjoin": "scalargtjoinsel", "oprkind": "b", "oprleft": "money", "oprname": ">", "oprrest": "scalargtsel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "<=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "904", "descr": "less than or equal", "oprcom": ">=(money,money)", "oprcode": "cash_le", "oprjoin": "scalarlejoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<=", "oprrest": "scalarlesel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": ">(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "905", "descr": "greater than or equal", "oprcom": "<=(money,money)", "oprcode": "cash_ge", "oprjoin": "scalargejoinsel", "oprkind": "b", "oprleft": "money", "oprname": ">=", "oprrest": "scalargesel", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "<(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "906", "descr": "add", "oprcom": "+(money,money)", "oprcode": "cash_pl", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "+", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "907", "descr": "subtract", "oprcom": "0", "oprcode": "cash_mi", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "-", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "908", "descr": "multiply", "oprcom": "*(float8,money)", "oprcode": "cash_mul_flt8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "float8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "909", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_flt8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "float8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "3346", "descr": "multiply", "oprcom": "*(int8,money)", "oprcode": "cash_mul_int8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "3347", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_int8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "912", "descr": "multiply", "oprcom": "*(int4,money)", "oprcode": "cash_mul_int4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "913", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_int4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "914", "descr": "multiply", "oprcom": "*(int2,money)", "oprcode": "cash_mul_int2", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int2", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "915", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_int2", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "int2", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "916", "descr": "multiply", "oprcom": "*(money,float8)", "oprcode": "flt8_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "float8", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "3349", "descr": "multiply", "oprcom": "*(money,int8)", "oprcode": "int8_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int8", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "917", "descr": "multiply", "oprcom": "*(money,int4)", "oprcode": "int4_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int4", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "918", "descr": "multiply", "oprcom": "*(money,int2)", "oprcode": "int2_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int2", "oprname": "*", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}, {"oid": "3825", "descr": "divide", "oprcom": "0", "oprcode": "cash_div_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprowner": "POSTGRES", "oprright": "money", "oprnegate": "0", "oprresult": "float8", "oprcanhash": "f", "oprcanmerge": "f", "oprnamespace": "pg_catalog"}], "signature": "money", "description": ["currency amount"], "manual_html": "<div class=\"sect1\" id=\"DATATYPE-MONEY\">\n<div class=\"titlepage\">\n<div>\n<div>\n<h2 class=\"title\">8.2. Monetary Types </h2>\n</div>\n</div>\n</div>\n<p>The <code class=\"type\">money</code> type stores a currency amount with a fixed fractional precision; see <a class=\"xref\" href=\"/docs/18/datatype-money.html#DATATYPE-MONEY-TABLE\" title=\"Table 8.3. Monetary Types\">Table 8.3</a>. The fractional precision is determined by the database's <a class=\"xref\" href=\"/docs/18/runtime-config-client.html#GUC-LC-MONETARY\">lc_monetary</a> setting. The range shown in the table assumes there are two fractional digits. Input is accepted in a variety of formats, including integer and floating-point literals, as well as typical currency formatting, such as <code class=\"literal\">'$1,000.00'</code>. Output is generally in the latter form but depends on the locale.</p>\n<div class=\"table\" id=\"DATATYPE-MONEY-TABLE\">\n<p class=\"title\"><strong>Table 8.3. Monetary Types</strong></p>\n<div class=\"table-contents\">\n<table class=\"table\">\n\n\n\n\n\n\n<thead>\n<tr>\n<th>Name</th>\n<th>Storage Size</th>\n<th>Description</th>\n<th>Range</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code class=\"type\">money</code></td>\n<td>8 bytes</td>\n<td>currency amount</td>\n<td>-92233720368547758.08 to +92233720368547758.07</td>\n</tr>\n</tbody>\n</table>\n</div>\n</div><br class=\"table-break\">\n<p>Since the output of this data type is locale-sensitive, it might not work to load <code class=\"type\">money</code> data into a database that has a different setting of <code class=\"varname\">lc_monetary</code>. To avoid problems, before restoring a dump into a new database make sure <code class=\"varname\">lc_monetary</code> has the same or equivalent value as in the database that was dumped.</p>\n<p>Values of the <code class=\"type\">numeric</code>, <code class=\"type\">int</code>, and <code class=\"type\">bigint</code> data types can be cast to <code class=\"type\">money</code>. Conversion from the <code class=\"type\">real</code> and <code class=\"type\">double precision</code> data types can be done by casting to <code class=\"type\">numeric</code> first, for example:</p>\n<pre class=\"programlisting\">SELECT '12.34'::float8::numeric::money;\n</pre>\n<p>However, this is not recommended. Floating point numbers should not be used to handle money due to the potential for rounding errors.</p>\n<p>A <code class=\"type\">money</code> value can be cast to <code class=\"type\">numeric</code> without loss of precision. Conversion to other types could potentially lose precision, and must also be done in two stages:</p>\n<pre class=\"programlisting\">SELECT '52093.89'::money::numeric::float8;\n</pre>\n<p>Division of a <code class=\"type\">money</code> value by an integer value is performed with truncation of the fractional part towards zero. To get a rounded result, divide by a floating-point value, or cast the <code class=\"type\">money</code> value to <code class=\"type\">numeric</code> before dividing and back to <code class=\"type\">money</code> afterwards. (The latter is preferable to avoid risking precision loss.) When a <code class=\"type\">money</code> value is divided by another <code class=\"type\">money</code> value, the result is <code class=\"type\">double precision</code> (i.e., a pure number, not money); the currency units cancel each other out in the division.</p>\n</div>", "manual_path": "datatype-money.html", "comparison_data": {"casts": [{"castfunc": "money(int4)", "castmethod": "f", "castsource": "int4", "casttarget": "money", "castcontext": "a"}, {"castfunc": "money(int8)", "castmethod": "f", "castsource": "int8", "casttarget": "money", "castcontext": "a"}, {"castfunc": "money(numeric)", "castmethod": "f", "castsource": "numeric", "casttarget": "money", "castcontext": "a"}, {"castfunc": "numeric(money)", "castmethod": "f", "castsource": "money", "casttarget": "numeric", "castcontext": "a"}], "facts": [{"label": "Catalog name", "value": "pg_catalog.money"}, {"label": "Declared length", "value": "8 bytes"}, {"label": "Documented declaration", "value": "money"}, {"label": "Input function", "value": "cash_in"}, {"label": "Output function", "value": "cash_out"}, {"label": "Range", "value": "-92233720368547758.08 to +92233720368547758.07"}, {"label": "Storage Size", "value": "8 bytes"}, {"label": "Storage strategy", "value": "plain"}, {"label": "Type OID", "value": "790"}, {"label": "Type kind", "value": "Base type"}], "ranges": [], "aliases": [], "catalog": {"typacl": "_null_", "typlen": "8", "typelem": "0", "typname": "money", "typsend": "cash_send", "typtype": "b", "typalign": "d", "typarray": "_money", "typbyval": "FLOAT8PASSBYVAL", "typdelim": ",", "typinput": "cash_in", "typmodin": "-", "typndims": "0", "typrelid": "0", "typmodout": "-", "typoutput": "cash_out", "typtypmod": "-1", "typanalyze": "-", "typdefault": "_null_", "typnotnull": "f", "typreceive": "cash_recv", "typstorage": "p", "typbasetype": "0", "typcategory": "N", "typcollation": "0", "typisdefined": "t", "typsubscript": "-", "typdefaultbin": "_null_", "typispreferred": "f", "array_type_name": "_money"}, "operators": [{"oprcom": "0", "oprcode": "cash_div_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "float8", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_div_flt4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "float4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_div_flt8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "float8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_div_int2", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "int2", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_div_int4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "int4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_div_int8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "/", "oprrest": "-", "oprright": "int8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "<=(money,money)", "oprcode": "cash_ge", "oprjoin": "scalargejoinsel", "oprkind": "b", "oprleft": "money", "oprname": ">=", "oprrest": "scalargesel", "oprright": "money", "oprnegate": "<(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "<(money,money)", "oprcode": "cash_gt", "oprjoin": "scalargtjoinsel", "oprkind": "b", "oprleft": "money", "oprname": ">", "oprrest": "scalargtsel", "oprright": "money", "oprnegate": "<=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": ">=(money,money)", "oprcode": "cash_le", "oprjoin": "scalarlejoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<=", "oprrest": "scalarlesel", "oprright": "money", "oprnegate": ">(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": ">(money,money)", "oprcode": "cash_lt", "oprjoin": "scalarltjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<", "oprrest": "scalarltsel", "oprright": "money", "oprnegate": ">=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "0", "oprcode": "cash_mi", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "-", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(float4,money)", "oprcode": "cash_mul_flt4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprright": "float4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(float8,money)", "oprcode": "cash_mul_flt8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprright": "float8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(int2,money)", "oprcode": "cash_mul_int2", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprright": "int2", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(int4,money)", "oprcode": "cash_mul_int4", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprright": "int4", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(int8,money)", "oprcode": "cash_mul_int8", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "*", "oprrest": "-", "oprright": "int8", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "<>(money,money)", "oprcode": "cash_ne", "oprjoin": "neqjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "<>", "oprrest": "neqsel", "oprright": "money", "oprnegate": "=(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "+(money,money)", "oprcode": "cash_pl", "oprjoin": "-", "oprkind": "b", "oprleft": "money", "oprname": "+", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(money,float4)", "oprcode": "flt4_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "float4", "oprname": "*", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(money,float8)", "oprcode": "flt8_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "float8", "oprname": "*", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(money,int2)", "oprcode": "int2_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int2", "oprname": "*", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(money,int4)", "oprcode": "int4_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int4", "oprname": "*", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "*(money,int8)", "oprcode": "int8_mul_cash", "oprjoin": "-", "oprkind": "b", "oprleft": "int8", "oprname": "*", "oprrest": "-", "oprright": "money", "oprnegate": "0", "oprresult": "money", "oprcanhash": "f", "oprcanmerge": "f"}, {"oprcom": "=(money,money)", "oprcode": "cash_eq", "oprjoin": "eqjoinsel", "oprkind": "b", "oprleft": "money", "oprname": "=", "oprrest": "eqsel", "oprright": "money", "oprnegate": "<>(money,money)", "oprresult": "bool", "oprcanhash": "f", "oprcanmerge": "t"}], "operator_classes": [{"opcname": "money_ops", "opcfamily": "btree/money_ops", "opcintype": "money", "opcmethod": "btree", "opcdefault": "t", "opckeytype": "0"}]}, "comparison_hash": "f39c21a3f32d564b81d6e6a5808d3d145195b2dff66afcb5d2970982df6b7425", "operator_classes": [{"opcname": "money_ops", "opcowner": "POSTGRES", "opcfamily": "btree/money_ops", "opcintype": "money", "opcmethod": "btree", "opcdefault": "t", "opckeytype": "0", "opcnamespace": "pg_catalog"}], "manual_documentation": "dedicated family chapter"}, "from": "17", "comparison": {"available": true, "changes": [], "prose_changed": true}}