Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1grnAZ-0006zc-Pa for pgsql-docs@arkaria.postgresql.org; Thu, 07 Feb 2019 17:09:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1grnAY-0000TB-0o for pgsql-docs@arkaria.postgresql.org; Thu, 07 Feb 2019 17:08:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1grnAX-0000T4-OU for pgsql-docs@lists.postgresql.org; Thu, 07 Feb 2019 17:08:57 +0000 Received: from mout.kundenserver.de ([212.227.126.135]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1grnAU-0004SE-2R for pgsql-docs@lists.postgresql.org; Thu, 07 Feb 2019 17:08:57 +0000 Received: from [192.168.178.23] ([77.182.89.136]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MBlgy-1gxGH21mxg-00CD8P for ; Thu, 07 Feb 2019 18:08:52 +0100 Subject: Re: First SVG graphic To: pgsql-docs@lists.postgresql.org References: <0e0b8e73-cc7c-0557-c76f-35d9592eb50e@purtz.de> <20190117174053.GC10895@momjian.us> <20190118.074307.1409947743977067766.t-ishii@sraoss.co.jp> <2e5ef806-c4f8-3fe7-e9a4-4fcfd124568e@purtz.de> <20190123235312.GB8334@momjian.us> <6a97acaf-06e8-519c-a4ff-04a13e0d2675@2ndquadrant.com> <5ad6b96d-47d0-eb08-edc4-803645d2fd31@purtz.de> <4393cdcd-4efd-3198-4ffc-c080a5af79c7@2ndquadrant.com> From: =?UTF-8?Q?J=c3=bcrgen_Purtz?= Message-ID: Date: Thu, 7 Feb 2019 18:11:08 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <4393cdcd-4efd-3198-4ffc-c080a5af79c7@2ndquadrant.com> Content-Type: multipart/mixed; boundary="------------1DB092494BB43D5FF9714673" Content-Language: en-GB X-Provags-ID: V03:K1:u3KOGYzWl50URPmz/0JOAfY7JiKdOZLERHKaVFvns0ElY7vMcfu HzYLYV2iqV3t0rKT06J+QhAZN3AacUk2Lw3jTQzKRWnn4k/6bazxt0RcEf1c5MFkMGtnLPA 08BYT5LuOqLVZznIoBKSKLBafQW1c0IKQrYpN7hC0KzS8H1XkWld789CXrMy2QTtrEIlyJm oiFzvxSjF1Fza1U1fyoMw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:tZIg5nyT6Hw=:NI8HU+FZXXqlVrr5mSn2sK /sURD14YxHUGctyTzOU2NWbdnq0bw0SIw+nK1E800JpQ7u4jF9cl/+gDO5Og52L/ut3jBLDIX nvEpkCAZi3W3cyivJGx2zxc5Ub88AkdcQt1t4xPavvN2fUMJnn/A8aR6NxwIYKNerhgOR5HE7 754kBbBnji8IewdnG1EkoIvlu+Q8RTEvvWVd/xwoIr0PJYqGKf8tCx6S+0yvbPh3bYdLXUNXF YDdgg90MOiCeOSP024TWYKKdeDL8c7NCsbV8nxKZCz/JObDYAQxe2qLgwq+RrS3kDGblA1TNw e/1bmJVtYRR80YnimEaa/k1GiCwaULW9Qmfa2oEeXUa6Jcp2UDlxQPnZTrXQ02jJfdoI2pC8y grElT16jI9dB3Uyer4nZxvP+plo05qR/zWmjaCzHkxUOYP/24MjeQka06LQ8e1AkHaACpBgyT rxmhu19s0QOWJD3NPvq20WrIbW5BT7O24zJJAHetivV6WIis9acPdrw9fKPwiD3+WcKWsgF6p tnhvbSnbTH7AOgremimgzIQYf8juBH5acFQtbrbI5TMgF1ktk7y1oWtw9+AmtL+w7SHfBDqvr lbPYzp/iQ93kxcIZXidJmmdy/VduH1yXDl5DTTZ88imnWwgsuU8YhjXxK5+03hz/p17I93hrF V2YRwMCy/5rfAGBQwYgeSNpMHfbuq5xtrlWy+D/tu72BbS5M3k35kcyATp2NvWu8vXuPDz6Xo xFB9b25YhWuoZskW+UqWQJvMQmwiAKV2QRNIxg== List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------1DB092494BB43D5FF9714673 Content-Type: multipart/alternative; boundary="------------C67A37633E7EEDF61086EBB6" --------------C67A37633E7EEDF61086EBB6 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 07.02.19 12:06, Peter Eisentraut wrote: > First, let's fix some of these whitespace errors: > > firstSvg_2.patch:677: trailing whitespace. > firstSvg_2.patch:752: trailing whitespace. > firstSvg_2.patch:705: new blank line at EOF. > + > firstSvg_2.patch:936: new blank line at EOF. > + > warning: 4 lines add whitespace errors. Done. > Let's not use mixed-case file names: > > Inkscape/ > PageLayout.svg > gin.svg > pgDump.svg Done. >> @@ -152,15 +156,15 @@ postgres.txt: postgres.html >> postgres.pdf: >> $(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets) >> >> -%-A4.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) >> +%-A4.fo: stylesheet-fo.xsl %.sgml >> $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) >> $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $(wordlist 1,2,$^) >> >> -%-US.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) >> +%-US.fo: stylesheet-fo.xsl %.sgml >> $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) >> $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $(wordlist 1,2,$^) >> >> -%.pdf: %.fo >> +%.pdf: %.fo $(ALLSGML) $(SVGSRC) >> $(FOP) -fo $< -pdf $@ >> > This seems a bit wrong. The .fo target does depend on ALLSGML. The > .pdf target does not, but it presumably does depend on SVGSRC. It's a transitive dependency: the pdf target is triggered after changes in svg (or sgml), this triggers the fo targets. Therefore it's not necessary to have svg (or sgml) dependencies at the fo level. > The variable name SVGSRC is a bit confusing. What is it the source of? The variable SVGSRC points to all svg-files, similar to ALLSGML which points to the sgml files. Whenever any of them changes, certain targets will fire. >> @@ -209,7 +213,7 @@ check: postgres.sgml $(ALLSGML) check-tabs >> install: install-html install-man >> >> installdirs: >> - $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) >> + $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html/svg html/svg $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) >> >> # If the install used a man directory shared with other applications, this will remove all files. >> uninstall: > html/svg is not an installation directory. You need to create it > somewhere else. Please help. I haven't understood the distinction between installation directory and DESTDIR. On the other hand, in the Makefile there is a - redundant - command within the html-stamp target: $(MKDIR_P) html/svg. But this will run frequently, which is not necessary. >> + >> + Lists of Figures, Tables and Examples >> + >> + List of Figures >> + >> + >> + >> + List of Tables >> + >> + >> + >> + List of Examples >> + >> + >> + > These ought to be created by the stylesheet. We have probably turned > them off somewhere, so you should see where you can turn them on. There is a simple mechanism to create those list of figures: change line 55 of stylesheet-html-common.xsl to "book toc,title,*figure*". But the result is ugly - see attached screenshot. The list is out-of-line. Additionally, in the future we will have many figures (and examples and tables). This will lead to similar problems we actually faced with the release notes. The proposed solution moves this inflation of lists to deeper levels of the TOC. We can and have defined theirs layout within stylesheet-common.xsl. >> diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml >> index 9e0bb93f08..d31ee2d210 100644 >> --- a/doc/src/sgml/ref/pg_dump.sgml >> +++ b/doc/src/sgml/ref/pg_dump.sgml >> @@ -73,6 +73,21 @@ >> architectures. >> >> >> +
>> + <command>pg_dump</command>: Formats and Restore Proceedings > This doesn't work for man page output. > > I think we should avoid putting images into reference pages. This one > could perhaps go into the Backup chapter. What is the problem here? Actually I don't have enough time to evaluate it in deep. If it is an urgent problem (I have seen that the commitfest-entry is tagged as "release 12") we shall shift the pg_dump figure to a later release. I think that the Backup chapter isn't a good place for this because it does not explain the complete interaction between pg_dump, psql and restore. > Also, it should be linked to from somewhere. An image that's just > floating around and not referred to in the text seems odd. > > Also we tend to use hyphens instead of underscores for IDs. (At some > point, underscores where not allowed. I'm surprised that that's no > longer the case.) Done. (But I hate the use of the minus-signs within any identifier of any language. For me it's an operator.) > I also wouldn't put "_svg" into the ID. The format > is irrelevant to the ID. > I changed _svg to _figure. I agree that the format is irrelevant. But it may be of interest, whether it is an id to a text or a figure. Kind regards, Jürgen --------------C67A37633E7EEDF61086EBB6 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

On 07.02.19 12:06, Peter Eisentraut wrote:

First, let's fix some of these whitespace errors:

firstSvg_2.patch:677: trailing whitespace.
  <rect x="1" y="1" width="99.4%" height="99.4%" rx="1%"
firstSvg_2.patch:752: trailing whitespace.
  <rect x="1" y="1" width="99.4%" height="99.4%" rx="1%"
firstSvg_2.patch:705: new blank line at EOF.
+
firstSvg_2.patch:936: new blank line at EOF.
+
warning: 4 lines add whitespace errors.

Done.

Let's not use mixed-case file names:

Inkscape/
PageLayout.svg
gin.svg
pgDump.svg
Done.

      
@@ -152,15 +156,15 @@ postgres.txt: postgres.html
 postgres.pdf:
  $(error Invalid target;  use postgres-A4.pdf or postgres-US.pdf as targets)

-%-A4.fo: stylesheet-fo.xsl %.sgml $(ALLSGML)
+%-A4.fo: stylesheet-fo.xsl %.sgml
  $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^)
  $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $(wordlist 1,2,$^)

-%-US.fo: stylesheet-fo.xsl %.sgml $(ALLSGML)
+%-US.fo: stylesheet-fo.xsl %.sgml
  $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^)
  $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $(wordlist 1,2,$^)

-%.pdf: %.fo
+%.pdf: %.fo $(ALLSGML) $(SVGSRC)
  $(FOP) -fo $< -pdf $@

This seems a bit wrong.  The .fo target does depend on ALLSGML.  The
.pdf target does not, but it presumably does depend on SVGSRC.
It's a transitive dependency: the pdf target is triggered after changes in svg (or sgml), this triggers the fo targets. Therefore it's not necessary to have svg (or sgml) dependencies at the fo level.
The variable name SVGSRC is a bit confusing.  What is it the source of?
The variable SVGSRC points to all svg-files, similar to ALLSGML which points to the sgml files. Whenever any of them changes, certain targets will fire.
@@ -209,7 +213,7 @@ check: postgres.sgml $(ALLSGML) check-tabs
 install: install-html install-man

 installdirs:
- $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum))
+ $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html/svg html/svg $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum))

 # If the install used a man directory shared with other applications, this will remove all files.
 uninstall:
html/svg is not an installation directory.  You need to create it
somewhere else.
Please help. I haven't understood the distinction between installation directory and DESTDIR. On the other hand, in the Makefile there is a - redundant - command within the html-stamp target: $(MKDIR_P) html/svg. But this will run frequently, which is not necessary.

      
+ <part>
+  <title>Lists of Figures, Tables and Examples</title>
+  <appendix id="list-of-figures">
+   <title>List of Figures</title>
+   <para />
+  </appendix>
+  <appendix id="list-of-tables">
+   <title>List of Tables</title>
+   <para />
+  </appendix>
+  <appendix id="list-of-examples">
+   <title>List of Examples</title>
+   <para />
+  </appendix>
+ </part>
These ought to be created by the stylesheet.  We have probably turned
them off somewhere, so you should see where you can turn them on.

There is a simple mechanism to create those list of figures: change line 55 of stylesheet-html-common.xsl to "book      toc,title,figure". But the result is ugly - see attached screenshot. The list is out-of-line. Additionally, in the future we will have many figures (and examples and tables). This will lead to similar problems we actually faced with the release notes. The proposed solution moves this inflation of lists to deeper levels of the TOC. We can and have defined theirs layout within stylesheet-common.xsl.


      
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 9e0bb93f08..d31ee2d210 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -73,6 +73,21 @@
    architectures.
   </para>

+  <figure id="pg_dump_svg">
+   <title><command>pg_dump</command>: Formats and Restore Proceedings</title>
This doesn't work for man page output.

I think we should avoid putting images into reference pages.  This one
could perhaps go into the Backup chapter.

What is the problem here? Actually I don't have enough time to evaluate it in deep. If it is an urgent problem (I have seen that the commitfest-entry is tagged as "release 12") we shall shift the pg_dump figure to a later release.

I think that the Backup chapter isn't a good place for this because it does not explain the complete interaction between pg_dump, psql and restore.

Also, it should be linked to from somewhere.  An image that's just
floating around and not referred to in the text seems odd.

Also we tend to use hyphens instead of underscores for IDs.  (At some
point, underscores where not allowed.  I'm surprised that that's no
longer the case.)
Done. (But I hate the use of the minus-signs within any identifier of any language. For me it's an operator.)
  I also wouldn't put "_svg" into the ID.  The format
is irrelevant to the ID.

I changed _svg to _figure. I agree that the format is irrelevant. But it may be of interest, whether it is an id to a text or a figure.


Kind regards, Jürgen


--------------C67A37633E7EEDF61086EBB6-- --------------1DB092494BB43D5FF9714673 Content-Type: image/png; name="Screenshot_Lists2.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Screenshot_Lists2.png" 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 QmCC --------------1DB092494BB43D5FF9714673 Content-Type: text/x-patch; name="firstSvg_3.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="firstSvg_3.patch" diff --git a/doc/src/sgml/Makefile b/doc/src/sgml/Makefile index 8326c7c673..1179d29096 100644 --- a/doc/src/sgml/Makefile +++ b/doc/src/sgml/Makefile @@ -57,6 +57,8 @@ GENERATED_SGML = version.sgml \ ALLSGML := $(wildcard $(srcdir)/*.sgml $(srcdir)/ref/*.sgml) $(GENERATED_SGML) +SVGSRC := $(wildcard $(srcdir)/svg/*.svg) + ## ## Man pages @@ -125,10 +127,12 @@ endif html: html-stamp -html-stamp: stylesheet.xsl postgres.sgml $(ALLSGML) +html-stamp: stylesheet.xsl postgres.sgml $(ALLSGML) $(SVGSRC) $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $(wordlist 1,2,$^) cp $(srcdir)/stylesheet.css html/ + $(MKDIR_P) html/svg + cp $(SVGSRC) html/svg touch $@ htmlhelp: stylesheet-hh.xsl postgres.sgml $(ALLSGML) @@ -136,7 +140,7 @@ htmlhelp: stylesheet-hh.xsl postgres.sgml $(ALLSGML) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(wordlist 1,2,$^) # single-page HTML -postgres.html: stylesheet-html-nochunk.xsl postgres.sgml $(ALLSGML) +postgres.html: stylesheet-html-nochunk.xsl postgres.sgml $(ALLSGML) $(SVGSRC) $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) -o $@ $(wordlist 1,2,$^) @@ -152,15 +156,15 @@ postgres.txt: postgres.html postgres.pdf: $(error Invalid target; use postgres-A4.pdf or postgres-US.pdf as targets) -%-A4.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) +%-A4.fo: stylesheet-fo.xsl %.sgml $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type A4 -o $@ $(wordlist 1,2,$^) -%-US.fo: stylesheet-fo.xsl %.sgml $(ALLSGML) +%-US.fo: stylesheet-fo.xsl %.sgml $(XMLLINT) $(XMLINCLUDE) --noout --valid $(word 2,$^) $(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) --stringparam paper.type USletter -o $@ $(wordlist 1,2,$^) -%.pdf: %.fo +%.pdf: %.fo $(ALLSGML) $(SVGSRC) $(FOP) -fo $< -pdf $@ @@ -169,7 +173,7 @@ postgres.pdf: ## epub: postgres.epub -postgres.epub: postgres.sgml $(ALLSGML) +postgres.epub: postgres.sgml $(ALLSGML) $(SVGSRC) $(XMLLINT) --noout --valid $< $(DBTOEPUB) $< @@ -209,7 +213,7 @@ check: postgres.sgml $(ALLSGML) check-tabs install: install-html install-man installdirs: - $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) + $(MKDIR_P) '$(DESTDIR)$(htmldir)'/html/svg $(addprefix '$(DESTDIR)$(mandir)'/man, 1 3 $(sqlmansectnum)) # If the install used a man directory shared with other applications, this will remove all files. uninstall: diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 4930ec17f6..fe83c46d2c 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -11228,17 +11228,18 @@ table2-mapping As an example of using the output produced by these functions, - shows an XSLT stylesheet that - converts the output of + the following shows + an XSLT stylesheet that converts the output of table_to_xml_and_xmlschema to an HTML document containing a tabular rendition of the table data. In a similar manner, the results from these functions can be converted into other XML-based formats. -
+ XSLT Stylesheet for Converting SQL/XML Output to HTML - + ]]> -
+ + diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml index cc7cd1ed2c..7e49254afe 100644 --- a/doc/src/sgml/gin.sgml +++ b/doc/src/sgml/gin.sgml @@ -453,6 +453,23 @@ key values for different columns can be of different types. +
+ GIN Overview + + index + GIN + GIN (Figure) + + + + + + + + + +
+ GIN Fast Update Technique diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 96d196d229..06d270aed6 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -280,6 +280,22 @@ + + Lists of Figures, Tables and Examples + + List of Figures + + + + List of Tables + + + + List of Examples + + + + &biblio; diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index 9e0bb93f08..a6c91e68ef 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -73,6 +73,21 @@ PostgreSQL documentation architectures. +
+ <command>pg_dump</command>: Formats and Restore Proceedings + pg_dump + Formats and Restore Proceedings (Figure) + + + + + + + + + +
+ When used with one of the archive file formats and combined with pg_restore, diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml index cbdad0c3fb..d630366a9a 100644 --- a/doc/src/sgml/storage.sgml +++ b/doc/src/sgml/storage.sgml @@ -776,6 +776,19 @@ data. Empty in ordinary tables. +
+ Overall Page Layout + Page Layout (Figure) + + + + + + + + +
+ The first 24 bytes of each page consists of a page header diff --git a/doc/src/sgml/stylesheet-common.xsl b/doc/src/sgml/stylesheet-common.xsl index 6d26e7e5c9..c95b64f212 100644 --- a/doc/src/sgml/stylesheet-common.xsl +++ b/doc/src/sgml/stylesheet-common.xsl @@ -86,4 +86,28 @@ ? + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/sgml/stylesheet-html-nochunk.xsl b/doc/src/sgml/stylesheet-html-nochunk.xsl index ffd2012e91..9e756708f5 100644 --- a/doc/src/sgml/stylesheet-html-nochunk.xsl +++ b/doc/src/sgml/stylesheet-html-nochunk.xsl @@ -9,4 +9,27 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/doc/src/sgml/stylesheet-speedup-common.xsl b/doc/src/sgml/stylesheet-speedup-common.xsl index e3fb582a1c..93a4251496 100644 --- a/doc/src/sgml/stylesheet-speedup-common.xsl +++ b/doc/src/sgml/stylesheet-speedup-common.xsl @@ -91,6 +91,19 @@ + + + + + + + + + + + + + diff --git a/doc/src/sgml/svg/gin.svg b/doc/src/sgml/svg/gin.svg new file mode 100644 index 0000000000..9ea11f8b1f --- /dev/null +++ b/doc/src/sgml/svg/gin.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + Meta page + + + + Entry tree + + + + + + + + + + + + + + + + + + + + + + + + + + + + Posting tree + + + + + + + + + + + Posting tree + + + + + + Posting tree + + + + + + + + + + + Pending list + + + + + + + + + + + + Pointers to Posting tree + + Heap pointers (in Posting list or Posting tree) + + diff --git a/doc/src/sgml/svg/inkscape/gin_inkscape.svg b/doc/src/sgml/svg/inkscape/gin_inkscape.svg new file mode 100644 index 0000000000..be9a9b4c73 --- /dev/null +++ b/doc/src/sgml/svg/inkscape/gin_inkscape.svg @@ -0,0 +1,124 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + Meta page + + + Entry tree + + + + + + + + + + + + + + + + + + + + + + + + + + + Posting tree + + + + + + + + + + Posting tree + + + + + Posting tree + + + + + + + + + + Pending list + + + + + + + + + + + Pointers to Posting tree + + Heap pointers (in Posting list or Posting tree) + diff --git a/doc/src/sgml/svg/inkscape/pagelayout_inkscape.svg b/doc/src/sgml/svg/inkscape/pagelayout_inkscape.svg new file mode 100644 index 0000000000..5803077781 --- /dev/null +++ b/doc/src/sgml/svg/inkscape/pagelayout_inkscape.svg @@ -0,0 +1,81 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + Page Layout + 8 k B + Free space + + + Header + + ItemId + + ItemId + + + + + + + + Item + + + Item + + Special + + Content grows from start to center and from end to center. + diff --git a/doc/src/sgml/svg/inkscape/pgdump_inkscape.svg b/doc/src/sgml/svg/inkscape/pgdump_inkscape.svg new file mode 100644 index 0000000000..3e74b485a0 --- /dev/null +++ b/doc/src/sgml/svg/inkscape/pgdump_inkscape.svg @@ -0,0 +1,102 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original + Database + + pg_dump, script format + + pg_dump, other archive formats + + + + + SQL INSERT + commands + + psql + + + + + Binary + File(s) + + pg_restore + + + + + Restored + Database + + diff --git a/doc/src/sgml/svg/pagelayout.svg b/doc/src/sgml/svg/pagelayout.svg new file mode 100644 index 0000000000..223fcaf749 --- /dev/null +++ b/doc/src/sgml/svg/pagelayout.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + Page Layout + 8 k B + Free space + + + + Header + + ItemId + + ItemId + + + + + + + + Item + + Item + + Special + + + Content grows from start to center and from end to center. + + diff --git a/doc/src/sgml/svg/pgdump.svg b/doc/src/sgml/svg/pgdump.svg new file mode 100644 index 0000000000..5cf171de0e --- /dev/null +++ b/doc/src/sgml/svg/pgdump.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Original + Database + + pg_dump, script format + + pg_dump, other archive formats + + + + + + SQL INSERT + commands + + psql + + + + + + Binary + File(s) + + pg_restore + + + + + + Restored + Database + + + --------------1DB092494BB43D5FF9714673--