postgresql/doc/src/sgml
Andrew Dunstan d9134d0a35 Introduce jsonb, a structured format for storing json.
The new format accepts exactly the same data as the json type. However, it is
stored in a format that does not require reparsing the orgiginal text in order
to process it, making it much more suitable for indexing and other operations.
Insignificant whitespace is discarded, and the order of object keys is not
preserved. Neither are duplicate object keys kept - the later value for a given
key is the only one stored.

The new type has all the functions and operators that the json type has,
with the exception of the json generation functions (to_json, json_agg etc.)
and with identical semantics. In addition, there are operator classes for
hash and btree indexing, and two classes for GIN indexing, that have no
equivalent in the json type.

This feature grew out of previous work by Oleg Bartunov and Teodor Sigaev, which
was intended to provide similar facilities to a nested hstore type, but which
in the end proved to have some significant compatibility issues.

Authors: Oleg Bartunov,  Teodor Sigaev, Peter Geoghegan and Andrew Dunstan.
Review: Andres Freund
2014-03-23 16:40:19 -04:00
..
ref Offer triggers on foreign tables. 2014-03-23 02:16:34 -04:00
.gitignore Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:04 -05:00
acronyms.sgml Add SP-GiST (space-partitioned GiST) index access method. 2011-12-17 16:42:30 -05:00
adminpack.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
advanced.sgml doc: split long query into multiple lines 2013-12-04 10:03:13 -05:00
arch-dev.sgml doc: Fix claim that query is passed as ASCII text 2013-05-30 21:09:27 -04:00
array.sgml Add a cardinality function for arrays. 2014-01-21 12:38:53 -05:00
auth-delay.sgml Remove the custom_variable_classes parameter. 2011-10-04 12:36:55 -04:00
auto-explain.sgml auto_explain: Add logging of trigger execution 2014-03-04 15:31:18 -03:00
backup.sgml Add recovery_target='immediate' option. 2014-01-25 17:34:04 +02:00
bgworker.sgml doc: bgw_main takes a Datum argument, not void *. 2014-02-27 11:41:43 -03:00
biblio.sgml Properly capitalize hyphenated words in documentation titles. 2011-02-01 17:00:26 -05:00
bki.sgml Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
btree-gin.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
btree-gist.sgml Spell checking and markup refinement 2011-05-19 01:14:45 +03:00
catalogs.sgml Documentation for logical decoding. 2014-03-18 13:20:01 -04:00
charset.sgml doc: Remove i18ngurus.com link 2013-07-02 20:32:09 -04:00
chkpass.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
citext.sgml Make citext's equality and hashing functions collation-insensitive. 2011-06-08 15:25:02 -04:00
client-auth.sgml Cleanups from the remove-native-krb5 patch 2014-03-16 15:22:45 +01:00
config.sgml Cleanups from the remove-native-krb5 patch 2014-03-16 15:22:45 +01:00
contacts.sgml Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
contrib-spi.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
contrib.sgml Introduce logical decoding. 2014-03-03 16:32:18 -05:00
cube.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
datatype.sgml Introduce jsonb, a structured format for storing json. 2014-03-23 16:40:19 -04:00
datetime.sgml Improve documentation around historical calendar rules. 2012-04-26 18:28:52 -04:00
dblink.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
ddl.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
dfunc.sgml Remove IRIX port. 2013-10-18 08:14:21 -04:00
dict-int.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
dict-xsyn.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
diskusage.sgml Get rid of pg_class.reltoastidxid. 2013-07-04 03:24:09 +09:00
dml.sgml Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
docguide.sgml Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
dummy-seclabel.sgml Fix typo in dummy_seclabel documentation. 2011-10-13 12:16:07 -04:00
earthdistance.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
ecpg.sgml Documentation fix for ecpg. 2013-11-27 11:03:59 +01:00
errcodes.sgml Provide database object names as separate fields in error messages. 2013-01-29 17:08:26 -05:00
event-trigger.sgml Fix whitespace issues found by git diff --check, add gitattributes 2013-11-10 14:48:29 -05:00
extend.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
external-projects.sgml doc: Correct psycopg URL 2013-10-02 21:33:26 -04:00
fdwhandler.sgml Offer triggers on foreign tables. 2014-03-23 02:16:34 -04:00
features.sgml Update SQL features/conformance information to SQL:2011 2012-05-17 09:50:04 +03:00
file-fdw.sgml Provide a FORCE NULL option to COPY in CSV mode. 2014-03-04 17:31:59 -05:00
filelist.sgml Introduce jsonb, a structured format for storing json. 2014-03-23 16:40:19 -04:00
fixrtf Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
func.sgml Introduce jsonb, a structured format for storing json. 2014-03-23 16:40:19 -04:00
fuzzystrmatch.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
generate-errcodes-table.pl Update copyright for 2014 2014-01-07 16:05:30 -05:00
geqo.sgml doc: Improve setup for documentation building with FOP 2013-10-21 06:43:08 -04:00
gin.sgml Fix typos in comments. 2014-03-17 20:47:28 +09:00
gist.sgml Documentation spell and markup checking 2012-06-08 00:06:20 +03:00
high-availability.sgml Corrections to replication slots code and documentation. 2014-03-03 07:16:54 -05:00
history.sgml Add small doc mention that libpq is named after POSTQUEL. 2012-09-02 08:42:03 -04:00
hstore.sgml doc: fix hstore_to_json_loose() doc wording 2013-10-02 19:25:30 -04:00
indexam.sgml Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. 2013-07-02 09:47:01 -04:00
indices.sgml Use the term "radix tree" instead of "suffix tree" for SP-GiST text opclass. 2013-05-08 14:34:26 +03:00
info.sgml Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
information_schema.sgml Implement information_schema.parameters.parameter_default column 2013-11-26 23:21:35 -05:00
install-windows.sgml Provide for client-only installs with MSVC. 2014-01-26 17:03:13 -05:00
installation.sgml Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
intagg.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
intarray.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
intro.sgml Support automatically-updatable views. 2012-12-08 18:26:21 -05:00
isn.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
jadetex.cfg Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
json.sgml Introduce jsonb, a structured format for storing json. 2014-03-23 16:40:19 -04:00
keywords.sgml Implement the FILTER clause for aggregate function calls. 2013-07-16 20:15:36 -04:00
legal.sgml Update copyright for 2014 2014-01-07 16:05:30 -05:00
libpq.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
lo.sgml Add more limited large object trigger example. 2012-08-14 23:25:20 -04:00
lobj.sgml Update copyright for 2014 2014-01-07 16:05:30 -05:00
logicaldecoding.sgml Some minor improvements to logical decoding document. 2014-03-19 22:13:05 +09:00
ltree.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
maintenance.sgml Improve documentation about multixact IDs. 2014-02-17 12:20:57 -05:00
Makefile Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
manage-ag.sgml Fix inaccurate description of tablespace. 2013-07-31 22:35:12 +09:00
mk_feature_tables.pl Run newly-configured perltidy script on Perl files. 2012-07-04 21:47:49 -04:00
monitoring.sgml Show xid and xmin in pg_stat_activity and pg_stat_replication. 2014-02-25 12:34:04 -05:00
mvcc.sgml Minor correction of READ COMMITTED isolation level docs. 2013-11-27 14:34:12 -06:00
nls.sgml Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
notation.sgml doc: Remove paragraph about typesetting conventions 2013-05-31 22:45:03 -04:00
oid2name.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pageinspect.sgml Fix mention of htup.h in pageinspect docs 2013-07-08 17:13:18 -04:00
passwordcheck.sgml Remove support for native krb5 authentication 2014-01-19 17:05:01 +01:00
perform.sgml Include planning time in EXPLAIN ANALYZE output. 2014-01-29 16:09:15 -05:00
pg_xlogdump.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgarchivecleanup.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgbench.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgbuffercache.sgml pg_buffercache docs: adjust order of fields 2013-11-27 22:33:59 -05:00
pgcrypto.sgml pgcrypto: clarify 'md5' (hash) table entry 2014-02-13 15:38:48 -05:00
pgfreespacemap.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
pgprewarm.sgml pg_prewarm, a contrib module for prewarming relationd data. 2013-12-20 08:14:13 -05:00
pgrowlocks.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
pgstandby.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgstatstatements.sgml Keep pg_stat_statements' query texts in a file, not in shared memory. 2014-01-27 15:37:54 -05:00
pgstattuple.sgml pgstattuple: Doc update for previous commit. 2013-07-25 16:36:49 -04:00
pgtestfsync.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgtesttiming.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
pgtrgm.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
pgupgrade.sgml docs: small adjustements to recent SELECT and pg_upgrade improvements 2014-03-08 11:26:47 -05:00
planstats.sgml Documentation spell checking and markup improvements 2013-05-20 21:13:13 -04:00
plhandler.sgml Document security implications of check_function_bodies. 2014-02-17 09:33:31 -05:00
plperl.sgml PL/Perl: Add event trigger support 2013-12-11 08:11:59 -05:00
plpgsql.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
plpython.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
pltcl.sgml PL/Tcl: Add event trigger support 2013-11-23 21:32:00 -05:00
postgres-fdw.sgml Add some examples to the postgres_fdw documentation. 2014-01-31 17:28:02 -05:00
postgres.sgml Documentation for logical decoding. 2014-03-18 13:20:01 -04:00
problems.sgml Use "backend process" rather than "backend server", where appropriate. 2011-03-12 09:38:56 -05:00
protocol.sgml Documentation for logical decoding. 2014-03-18 13:20:01 -04:00
queries.sgml Rename TABLE() to ROWS FROM(). 2013-12-10 09:34:37 -05:00
query.sgml Use "backend process" rather than "backend server", where appropriate. 2011-03-12 09:38:56 -05:00
rangetypes.sgml Improve Range Types and Exclusion Constraints example. 2013-09-04 23:30:27 -07:00
README.links docs: improve xref description for xreflabel and refentry links 2014-01-30 12:26:18 -05:00
recovery-config.sgml Introduce replication slots. 2014-01-31 22:45:36 -05:00
reference.sgml Documentation for logical decoding. 2014-03-18 13:20:01 -04:00
regress.sgml Document risks of "make check" in the regression testing instructions. 2014-02-17 11:24:32 -05:00
release-7.4.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.0.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.1.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.2.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.3.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release-8.4.sgml Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. 2014-03-17 15:28:22 -04:00
release-9.0.sgml Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. 2014-03-17 15:28:22 -04:00
release-9.1.sgml Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. 2014-03-17 15:28:22 -04:00
release-9.2.sgml Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. 2014-03-17 15:28:22 -04:00
release-9.3.sgml Release notes for 9.3.4, 9.2.8, 9.1.13, 9.0.17, 8.4.21. 2014-03-17 15:28:22 -04:00
release-old.sgml Improve cross-references between minor version release notes. 2014-02-12 19:09:18 -05:00
release.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:04 -05:00
rowtypes.sgml Further review of range-types patch. 2011-11-18 18:24:32 -05:00
rules.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
runtime.sgml Rename huge_tlb_pages to huge_pages, and improve docs. 2014-03-03 20:52:48 +02:00
seg.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
sepgsql.sgml Documentation spell checking and markup improvements 2013-05-20 21:13:13 -04:00
sourcerepo.sgml Properly capitalize documentation headings; some only had initial-word 2011-01-29 13:01:48 -05:00
sources.sgml Show PIDs of lock holders and waiters in log_lock_waits log message. 2014-03-13 03:26:47 +09:00
spgist.sgml Use the term "radix tree" instead of "suffix tree" for SP-GiST text opclass. 2013-05-08 14:34:26 +03:00
spi.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
sql.sgml doc: Fix for too many brackets in command synopses on man pages 2012-05-03 22:58:00 +03:00
sslinfo.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
standalone-install.sgml Don't generate plain-text HISTORY and src/test/regress/README anymore. 2014-02-10 20:48:04 -05:00
start.sgml Remove mention of using "man" from the tutorial. 2011-04-03 19:49:05 -04:00
storage.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
stylesheet-common.xsl doc: Disable preface.autolabel in XSLT 2013-12-01 17:13:23 -05:00
stylesheet-fo.xsl doc: Improve setup for documentation building with FOP 2013-10-21 06:43:08 -04:00
stylesheet-hh.xsl Fix display of <command> elements on man pages 2012-04-30 21:18:03 +03:00
stylesheet-man.xsl Show step titles in the pg_upgrade man page 2012-07-17 21:34:22 +03:00
stylesheet.css Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
stylesheet.dsl doc: Clarify documentation page header customization code 2014-02-20 21:41:24 -05:00
stylesheet.xsl doc: Disable indentation of XHTML output 2014-02-05 23:49:25 -05:00
syntax.sgml Support ordered-set (WITHIN GROUP) aggregates. 2013-12-23 16:11:35 -05:00
tablefunc.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
tcn.sgml Reduce messages about implicit indexes and sequences to DEBUG1. 2012-07-04 20:35:29 -04:00
test-decoding.sgml test_decoding: Documentation fix. 2014-03-12 14:11:06 -04:00
test-parser.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
test-shm-mq.sgml Documentation for test_shm_mq. 2014-01-14 15:58:15 -05:00
textsearch.sgml doc: Fix <synopsis> in <term> markup 2013-06-07 22:00:59 -04:00
trigger.sgml Offer triggers on foreign tables. 2014-03-23 02:16:34 -04:00
tsearch2.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
typeconv.sgml Extend the unknowns-are-same-as-known-inputs type resolution heuristic. 2011-11-17 18:28:41 -05:00
unaccent.sgml Add xreflabels to /contrib manuals so links appear correct. Also update 2011-05-07 22:29:20 -04:00
user-manag.sgml Make superuser imply replication privilege. The idea of a privilege that 2012-01-14 18:22:16 +02:00
uuid-ossp.sgml Add gen_random_uuid() to contrib/pgcrypto. 2014-01-17 16:52:06 -05:00
vacuumlo.sgml doc: Improve DocBook XML validity 2014-02-23 21:31:08 -05:00
wal.sgml doc: mention data page checksums in WAL section 2014-01-31 19:05:00 -05:00
xaggr.sgml Support ordered-set (WITHIN GROUP) aggregates. 2013-12-23 16:11:35 -05:00
xfunc.sgml docs: remove unnecessary references to old PG versions 2014-02-24 12:56:37 -05:00
xindex.sgml Allow opclasses to provide tri-valued GIN consistent functions. 2014-03-12 17:51:30 +02:00
xml2.sgml Add contrib function references in the doc index 2013-07-04 11:33:11 -04:00
xoper.sgml Properly capitalize hyphenated words in documentation titles. 2011-02-01 17:00:26 -05:00
xplang.sgml Update documentation to reflect that standard PLs are now extensions. 2011-03-05 01:08:38 -05:00
xtypes.sgml Add more use of psprintf() 2014-01-06 21:30:26 -05:00

<!-- doc/src/sgml/README.links -->

Linking within SGML documents can be confusing, so here is a summary:


Intra-document Linking
----------------------

<xref>
	use to get chapter/section number from the title of the target
	link, or xreflabel if defined at the target, or refentrytitle if target
        is a refentry;  has no close tag
	http://www.oasis-open.org/docbook/documentation/reference/html/xref.html

<link>
	use to supply text for the link, requires </link>
	http://www.oasis-open.org/docbook/documentation/reference/html/link.html

linkend=
	controls the target of the link/xref, required

endterm=
	for <xref>, allows the text of the link/xref to be taken from a
	different link target title


External Linking
----------------

<ulink>
	like <link>, but uses a URL (not a document target);  requires
	</ulink>; if no text is specified, the URL appears as the link
	text
	http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html

url=
	used by <ulink> to specify the URL, required


Guidelines
----------

o  If you want to supply text, use <link>, else <xref>
o  Do not use text with <ulink> so the URL appears in printed output
o  Specific nouns like GUC variables, SQL commands, and contrib modules
   usually have xreflabels