Artifact
63d84f2faee22912104dd85f917bfd9bdb72e3ce:
Wiki page
[PostgreSQL] by
sandro
2018-08-03 18:22:07.
0000: 44 20 32 30 31 38 2d 30 38 2d 30 33 54 31 38 3a D 2018-08-03T18:
0010: 32 32 3a 30 37 2e 37 31 36 0a 4c 20 50 6f 73 74 22:07.716.L Post
0020: 67 72 65 53 51 4c 0a 50 20 61 35 38 34 34 39 61 greSQL.P a58449a
0030: 36 35 37 31 63 31 62 31 61 36 61 31 36 65 32 63 6571c1b1a6a16e2c
0040: 34 63 34 37 65 66 35 39 32 37 35 35 35 39 63 64 4c47ef59275559cd
0050: 63 0a 55 20 73 61 6e 64 72 6f 0a 57 20 31 33 32 c.U sandro.W 132
0060: 39 39 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72 99.Back to <a hr
0070: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e ef="https://www.
0080: 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 gaia-gis.it/foss
0090: 69 6c 2f 73 70 61 74 69 61 6c 69 74 65 5f 67 75 il/spatialite_gu
00a0: 69 2f 77 69 6b 69 3f 6e 61 6d 65 3d 73 70 61 74 i/wiki?name=spat
00b0: 69 61 6c 69 74 65 2d 67 75 69 22 3e 6d 61 69 6e ialite-gui">main
00c0: 20 57 69 6b 69 20 70 61 67 65 3c 2f 61 3e 3c 68 Wiki page</a><h
00d0: 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 54 68 65 20 r><br>..<h1>The
00e0: 47 55 49 20 61 73 20 61 20 50 6f 73 74 67 72 65 GUI as a Postgre
00f0: 53 51 4c 20 63 6c 69 65 6e 74 3c 2f 68 31 3e 0d SQL client</h1>.
0100: 0a 53 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 76 .Starting from v
0110: 65 72 73 69 6f 6e 20 3c 62 3e 32 2e 31 2e 30 3c ersion <b>2.1.0<
0120: 2f 62 3e 20 74 68 65 20 47 55 49 20 68 61 73 20 /b> the GUI has
0130: 74 68 65 20 63 61 70 61 62 69 6c 69 74 79 20 74 the capability t
0140: 6f 20 73 75 70 70 6f 72 74 20 63 6f 6e 6e 65 63 o support connec
0150: 74 69 6f 6e 73 20 74 6f 20 65 78 74 65 72 6e 61 tions to externa
0160: 6c 20 3c 62 3e 50 6f 73 74 67 72 65 53 51 4c 20 l <b>PostgreSQL
0170: 2f 20 50 6f 73 74 47 49 53 3c 2f 62 3e 20 64 61 / PostGIS</b> da
0180: 74 61 62 61 73 65 73 2e 3c 62 72 3e 0d 0a 54 68 tabases.<br>..Th
0190: 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 is functionality
01a0: 20 69 73 20 6d 61 69 6e 6c 79 20 62 61 73 65 64 is mainly based
01b0: 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 on <a href="htt
01c0: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
01d0: 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 76 69 72 74 s.it/fossil/virt
01e0: 75 61 6c 70 67 2f 77 69 6b 69 3f 6e 61 6d 65 3d ualpg/wiki?name=
01f0: 74 75 74 6f 72 69 61 6c 22 3e 6c 69 62 76 69 72 tutorial">libvir
0200: 74 75 61 6c 70 67 3c 2f 61 3e 2c 20 74 68 61 74 tualpg</a>, that
0210: 20 69 73 20 6e 6f 77 20 61 20 72 65 71 75 69 72 is now a requir
0220: 65 64 20 64 65 70 65 6e 64 65 6e 63 79 20 66 6f ed dependency fo
0230: 72 20 74 68 65 20 47 55 49 20 74 6f 6f 6c 2e 0d r the GUI tool..
0240: 0a 54 68 65 20 70 72 65 73 65 6e 74 20 74 75 74 .The present tut
0250: 6f 72 69 61 6c 20 69 73 20 69 6e 74 65 6e 64 65 orial is intende
0260: 64 20 74 6f 20 71 75 69 63 6b 6c 79 20 65 78 70 d to quickly exp
0270: 6c 61 69 6e 20 68 6f 77 20 74 68 65 20 50 6f 73 lain how the Pos
0280: 74 67 72 65 53 51 4c 20 73 75 70 70 6f 72 74 20 tgreSQL support
0290: 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 62 is implemented b
02a0: 79 20 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f y <b>spatialite_
02b0: 67 75 69 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e gui</b>.<br><br>
02c0: 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 73 70 61 ..<table cellspa
02d0: 63 69 6e 67 3d 22 36 22 20 63 65 6c 6c 70 61 64 cing="6" cellpad
02e0: 64 69 6e 67 3d 22 36 22 20 62 67 63 6f 6c 6f 72 ding="6" bgcolor
02f0: 3d 22 23 66 30 66 66 65 30 22 20 77 69 64 74 68 ="#f0ffe0" width
0300: 3d 22 31 30 30 25 22 20 62 6f 72 64 65 72 3d 22 ="100%" border="
0310: 31 22 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c 1">..<tr><td col
0320: 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d 22 span="2" align="
0330: 63 65 6e 74 65 72 22 3e 3c 68 33 3e 31 20 2d 20 center"><h3>1 -
0340: 45 73 74 61 62 6c 69 73 68 69 6e 67 20 61 20 43 Establishing a C
0350: 6f 6e 6e 65 63 74 69 6e 67 20 74 6f 20 61 20 50 onnecting to a P
0360: 6f 73 74 67 72 65 53 51 4c 20 44 42 4d 53 3c 2f ostgreSQL DBMS</
0370: 68 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 72 h3><hr></td></tr
0380: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e >..<tr>..<td><b>
0390: 31 2e 61 3c 2f 62 3e 20 79 6f 75 20 63 61 6e 20 1.a</b> you can
03a0: 70 72 65 73 73 20 74 68 65 20 61 70 70 72 6f 70 press the approp
03b0: 72 69 61 74 65 20 62 75 74 74 6f 6e 20 66 72 6f riate button fro
03c0: 6d 20 74 68 65 20 54 6f 6f 6c 62 61 72 3c 2f 74 m the Toolbar</t
03d0: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 d>..<td><img src
03e0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
03f0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
0400: 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 ins/gui-postgres
0410: 2f 67 75 69 31 2e 70 6e 67 22 20 61 6c 74 3d 22 /gui1.png" alt="
0420: 63 6f 6e 6e 65 63 74 69 6f 6e 20 31 22 3e 3c 2f connection 1"></
0430: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
0440: 0d 0a 3c 74 64 3e 3c 62 3e 31 2e 62 3c 2f 62 3e ..<td><b>1.b</b>
0450: 20 79 6f 75 20 63 61 6e 20 73 65 6c 65 63 74 20 you can select
0460: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 the appropriate
0470: 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 6d 61 item from the ma
0480: 69 6e 20 4d 65 6e 75 3c 2f 74 64 3e 0d 0a 3c 74 in Menu</td>..<t
0490: 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 d><img src="http
04a0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
04b0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 .it/gaia-sins/gu
04c0: 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 32 2e i-postgres/gui2.
04d0: 70 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 png" alt="connec
04e0: 74 69 6f 6e 20 32 22 3e 3c 2f 74 64 3e 0d 0a 3c tion 2"></td>..<
04f0: 2f 74 72 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /tr>..</tr>..<tr
0500: 3e 0d 0a 3c 74 64 3e 3c 62 3e 31 2e 63 3c 2f 62 >..<td><b>1.c</b
0510: 3e 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 79 6f > and finally yo
0520: 75 20 63 61 6e 20 73 65 6c 65 63 74 20 74 68 65 u can select the
0530: 20 61 70 70 72 6f 70 72 69 61 74 65 20 69 74 65 appropriate ite
0540: 6d 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 m from the conte
0550: 78 74 20 4d 65 6e 75 20 74 68 61 74 20 77 69 6c xt Menu that wil
0560: 6c 20 61 70 70 65 61 72 20 62 79 20 63 6c 69 63 l appear by clic
0570: 6b 69 6e 67 20 74 68 65 20 3c 62 3e 6c 65 66 74 king the <b>left
0580: 3c 2f 62 3e 20 62 75 74 74 6f 6e 20 6f 66 20 74 </b> button of t
0590: 68 65 20 6d 6f 75 73 65 20 6f 76 65 72 20 74 68 he mouse over th
05a0: 65 20 3c 62 3e 50 6f 73 74 72 65 53 51 4c 3c 2f e <b>PostreSQL</
05b0: 62 3e 20 6d 61 69 6e 20 6e 6f 64 65 20 66 72 6f b> main node fro
05c0: 6d 20 74 68 65 20 54 61 62 6c 65 20 54 72 65 65 m the Table Tree
05d0: 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 .</td>..<td><img
05e0: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
05f0: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
0600: 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 ia-sins/gui-post
0610: 67 72 65 73 2f 67 75 69 33 2e 70 6e 67 22 20 61 gres/gui3.png" a
0620: 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 20 33 lt="connection 3
0630: 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 3c 74 "></td>..</tr><t
0640: 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 31 2e 64 3c 2f r>..<td><b>1.d</
0650: 62 3e 20 69 6e 20 61 6c 6c 20 74 68 72 65 65 20 b> in all three
0660: 63 61 73 65 73 20 74 68 65 20 50 6f 73 74 67 72 cases the Postgr
0670: 65 53 51 4c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 eSQL connection
0680: 64 69 61 6c 6f 67 20 77 69 6c 6c 20 61 70 70 65 dialog will appe
0690: 61 72 2e 3c 62 72 3e 0d 0a 4a 75 73 74 20 69 6e ar.<br>..Just in
06a0: 73 65 72 74 20 74 68 65 20 72 65 71 75 69 72 65 sert the require
06b0: 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72 67 d connection arg
06c0: 75 6d 65 6e 74 73 20 61 6e 64 20 63 6f 6e 66 69 uments and confi
06d0: 72 6d 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 49 66 20 rm.<br><br>..If
06e0: 74 68 65 20 67 69 76 65 6e 20 61 72 67 75 6d 65 the given argume
06f0: 6e 74 73 20 61 72 65 20 69 6e 76 61 6c 69 64 20 nts are invalid
0700: 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 an error message
0710: 20 77 69 6c 6c 20 62 65 20 74 68 65 6e 20 64 69 will be then di
0720: 73 70 6c 61 79 65 64 2c 20 6f 74 68 65 72 77 69 splayed, otherwi
0730: 73 65 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f se the connectio
0740: 6e 20 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 69 n will be immedi
0750: 61 74 65 6c 79 20 65 73 74 61 62 6c 69 73 68 65 ately establishe
0760: 64 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 3c 68 d.<br><br><br><h
0770: 72 3e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a r><br><br><br>..
0780: 49 66 20 79 6f 75 20 61 72 65 20 61 74 74 65 6d If you are attem
0790: 70 74 69 6e 67 20 74 6f 20 63 6f 6e 6e 65 63 74 pting to connect
07a0: 20 61 20 72 65 6d 6f 74 65 20 73 65 72 76 65 72 a remote server
07b0: 2c 20 79 6f 75 20 63 6f 75 6c 64 20 70 72 6f 62 , you could prob
07c0: 61 62 6c 79 20 66 69 6e 64 20 75 73 65 66 75 6c ably find useful
07d0: 20 72 65 61 64 69 6e 67 20 66 69 72 73 74 20 74 reading first t
07e0: 68 65 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 he tutorial abou
07f0: 74 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 t <a href="https
0800: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
0810: 69 74 2f 66 6f 73 73 69 6c 2f 76 69 72 74 75 61 it/fossil/virtua
0820: 6c 70 67 2f 77 69 6b 69 3f 6e 61 6d 65 3d 70 6f lpg/wiki?name=po
0830: 72 74 2d 66 6f 72 77 61 72 64 69 6e 67 22 3e 53 rt-forwarding">S
0840: 53 48 20 74 75 6e 6e 65 6c 69 6e 67 20 61 6e 64 SH tunneling and
0850: 20 50 6f 72 74 20 46 6f 72 77 61 72 64 69 6e 67 Port Forwarding
0860: 3c 2f 61 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 </a>..<br><br><b
0870: 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 74 61 62 6c 65 r>..<hr>..<table
0880: 20 62 67 63 6f 6c 6f 72 3d 22 23 66 66 63 63 38 bgcolor="#ffcc8
0890: 30 22 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 0" cellspacing="
08a0: 36 22 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 6" cellpadding="
08b0: 36 22 20 62 6f 72 64 65 72 3d 22 31 22 20 77 69 6" border="1" wi
08c0: 64 74 68 3d 22 31 30 30 25 22 3e 0d 0a 3c 74 72 dth="100%">..<tr
08d0: 3e 3c 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 ><td align="cent
08e0: 65 72 22 3e 3c 68 33 3e 53 70 65 63 69 61 6c 20 er"><h3>Special
08f0: 6e 6f 74 65 20 66 6f 72 20 57 69 6e 64 6f 77 73 note for Windows
0900: 20 75 73 65 72 73 3c 2f 68 33 3e 3c 2f 74 64 3e users</h3></td>
0910: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d </tr>..<tr><td>.
0920: 0a 50 6c 65 61 73 65 20 72 65 61 64 20 74 68 65 .Please read the
0930: 20 3c 62 3e 41 64 64 65 6e 64 75 6d 3c 2f 62 3e <b>Addendum</b>
0940: 20 61 62 6f 75 74 20 4c 69 62 50 51 20 6c 61 74 about LibPQ lat
0950: 65 20 62 69 6e 64 69 6e 67 20 61 74 20 74 68 65 e binding at the
0960: 20 76 65 72 79 20 62 6f 74 74 6f 6d 20 6f 66 20 very bottom of
0970: 74 68 69 73 20 70 61 67 65 2e 0d 0a 3c 2f 74 64 this page...</td
0980: 3e 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e ></tr>..</table>
0990: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 </td>..<td><img
09a0: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 src="https://www
09b0: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 .gaia-gis.it/gai
09c0: 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 a-sins/gui-postg
09d0: 72 65 73 2f 67 75 69 34 2e 70 6e 67 22 20 61 6c res/gui4.png" al
09e0: 74 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 20 34 22 t="connection 4"
09f0: 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c ></td>..</tr>..<
0a00: 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 tr><td colspan="
0a10: 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 2" align="center
0a20: 22 3e 3c 68 33 3e 32 20 2d 20 45 78 70 61 6e 64 "><h3>2 - Expand
0a30: 69 6e 67 20 74 68 65 20 50 6f 73 74 67 72 65 53 ing the PostgreS
0a40: 51 4c 20 74 72 65 65 3c 2f 68 33 3e 3c 68 72 3e QL tree</h3><hr>
0a50: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </td></tr>..<tr>
0a60: 0d 0a 3c 74 64 3e 3c 62 3e 32 2e 61 3c 2f 62 3e ..<td><b>2.a</b>
0a70: 20 6f 6e 63 65 20 74 68 61 74 20 61 20 6e 65 77 once that a new
0a80: 20 50 6f 73 74 67 72 65 73 20 63 6f 6e 6e 65 63 Postgres connec
0a90: 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 73 75 tion has been su
0aa0: 63 63 65 73 73 66 75 6c 6c 79 20 65 73 74 61 62 ccessfully estab
0ab0: 6c 69 73 68 65 64 20 74 68 65 20 50 6f 73 74 67 lished the Postg
0ac0: 72 65 73 20 6e 6f 64 65 20 6f 6e 20 74 68 65 20 res node on the
0ad0: 6d 61 69 6e 20 54 61 62 6c 65 20 54 72 65 65 20 main Table Tree
0ae0: 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 6c 6c will contain all
0af0: 20 54 61 62 6c 65 73 20 61 6e 64 20 56 69 65 77 Tables and View
0b00: 73 20 64 65 66 69 6e 65 64 20 6f 6e 20 74 68 65 s defined on the
0b10: 20 50 6f 73 74 67 72 65 73 20 44 61 74 61 62 61 Postgres Databa
0b20: 73 65 2c 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 se, accordingly
0b30: 74 6f 20 74 68 65 20 75 73 75 61 6c 20 61 72 72 to the usual arr
0b40: 61 6e 67 65 6d 65 6e 74 20 61 64 6f 70 74 65 64 angement adopted
0b50: 20 62 79 20 50 6f 73 74 67 72 65 73 3a 0d 0a 3c by Postgres:..<
0b60: 75 6c 3e 0d 0a 3c 6c 69 3e 43 6f 6e 6e 65 63 74 ul>..<li>Connect
0b70: 69 6f 6e 20 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c ion <i>aka</i> <
0b80: 62 3e 44 61 74 61 62 61 73 65 3c 2f 62 3e 0d 0a b>Database</b>..
0b90: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 53 63 68 <ul>..<li><b>Sch
0ba0: 65 6d 61 3c 2f 62 3e 0d 0a 3c 75 6c 3e 0d 0a 3c ema</b>..<ul>..<
0bb0: 6c 69 3e 3c 62 3e 54 61 62 6c 65 3c 2f 62 3e 20 li><b>Table</b>
0bc0: 6f 72 20 3c 62 3e 56 69 65 77 3c 2f 62 3e 3c 2f or <b>View</b></
0bd0: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d li>..</ul></li>.
0be0: 0a 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 .</ul></li>..</u
0bf0: 6c 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 45 61 63 68 l><br><br>..Each
0c00: 20 6b 69 6e 64 20 6f 66 20 64 61 74 61 62 61 73 kind of databas
0c10: 65 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 62 65 e object will be
0c20: 20 63 6c 65 61 72 6c 79 20 69 64 65 6e 74 69 66 clearly identif
0c30: 69 65 64 20 62 79 20 61 6e 20 61 70 70 72 6f 70 ied by an approp
0c40: 72 69 61 74 65 20 69 63 6f 6e 3b 20 56 69 65 77 riate icon; View
0c50: 73 20 77 69 6c 6c 20 62 65 20 64 69 73 74 69 6e s will be distin
0c60: 67 75 69 73 68 65 64 20 66 72 6f 6d 20 54 61 62 guished from Tab
0c70: 6c 65 73 2c 20 61 6e 64 20 3c 62 3e 50 6f 73 74 les, and <b>Post
0c80: 47 49 53 3c 2f 62 3e 20 54 61 62 6c 65 73 20 28 GIS</b> Tables (
0c90: 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 47 65 containing <b>Ge
0ca0: 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c 75 6d ometry</b> colum
0cb0: 6e 73 29 20 77 69 6c 6c 20 62 65 20 63 6c 65 61 ns) will be clea
0cc0: 72 6c 79 20 64 69 73 74 69 6e 67 75 69 73 68 65 rly distinguishe
0cd0: 64 20 66 72 6f 6d 20 6f 72 64 69 6e 61 72 79 20 d from ordinary
0ce0: 54 61 62 6c 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d Tables.<br><br>.
0cf0: 0a 3c 62 3e 4e 6f 74 69 63 65 3c 2f 62 3e 3a 20 .<b>Notice</b>:
0d00: 61 6c 6c 20 50 6f 73 74 67 72 65 73 20 54 61 62 all Postgres Tab
0d10: 6c 65 73 20 61 6e 64 20 56 69 65 77 73 20 28 6e les and Views (n
0d20: 61 6d 65 6c 79 3a 20 3c 62 3e 56 69 72 74 75 61 amely: <b>Virtua
0d30: 6c 50 6f 73 74 67 72 65 73 3c 2f 62 3e 20 54 61 lPostgres</b> Ta
0d40: 62 6c 65 73 29 20 77 69 6c 6c 20 61 6c 77 61 79 bles) will alway
0d50: 73 20 68 61 76 65 20 61 20 63 6f 6e 76 65 6e 74 s have a convent
0d60: 69 6f 6e 61 6c 20 6e 61 6d 65 20 73 74 61 72 74 ional name start
0d70: 69 6e 67 20 77 69 74 68 20 61 20 3c 62 3e 76 70 ing with a <b>vp
0d80: 67 5f 3c 2f 62 3e 20 70 72 65 66 69 78 2e 3c 62 g_</b> prefix.<b
0d90: 72 3e 0d 0a 57 68 65 6e 65 76 65 72 20 70 6f 73 r>..Whenever pos
0da0: 73 69 62 6c 65 20 74 68 65 20 6f 72 69 67 69 6e sible the origin
0db0: 61 6c 20 50 6f 73 74 67 72 65 73 20 4e 61 6d 65 al Postgres Name
0dc0: 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 72 76 will be preserv
0dd0: 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 ed, otherwise it
0de0: 20 77 69 6c 6c 20 62 65 20 64 69 73 61 6d 62 69 will be disambi
0df0: 67 75 61 74 65 64 20 62 79 20 61 64 64 69 6e 67 guated by adding
0e00: 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 an appropriate
0e10: 6e 75 6d 65 72 69 63 20 73 75 66 66 69 78 2e 3c numeric suffix.<
0e20: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 br><br><br>..<hr
0e30: 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e >..<br><br>..<b>
0e40: 4e 6f 74 65 3c 2f 62 3e 3a 20 61 6c 6c 20 64 61 Note</b>: all da
0e50: 74 61 62 61 73 65 20 6f 62 6a 65 63 74 73 20 69 tabase objects i
0e60: 6e 20 74 68 65 20 50 6f 73 74 67 72 65 73 20 54 n the Postgres T
0e70: 72 65 65 20 61 72 65 20 69 6e 68 65 72 65 6e 74 ree are inherent
0e80: 6c 79 20 74 72 61 6e 73 69 65 6e 74 2c 20 61 6e ly transient, an
0e90: 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 d will automatic
0ea0: 61 6c 6c 79 20 64 69 73 61 70 70 65 61 72 20 77 ally disappear w
0eb0: 68 65 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f hen the correspo
0ec0: 6e 64 69 6e 67 20 63 6f 6e 6e 65 63 74 69 6f 6e nding connection
0ed0: 20 77 69 6c 6c 20 62 65 20 63 6c 6f 73 65 64 2c will be closed,
0ee0: 20 6f 72 20 77 68 65 6e 20 74 68 65 20 63 75 72 or when the cur
0ef0: 72 65 6e 74 20 73 65 73 73 69 6f 6e 20 65 6e 64 rent session end
0f00: 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d s.</td>..<td><im
0f10: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
0f20: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
0f30: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
0f40: 74 67 72 65 73 2f 67 75 69 35 2e 70 6e 67 22 20 tgres/gui5.png"
0f50: 61 6c 74 3d 22 74 61 62 6c 65 20 74 72 65 65 22 alt="table tree"
0f60: 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c ></td>..</tr>..<
0f70: 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 32 2e 62 3c tr>..<td><b>2.b<
0f80: 2f 62 3e 20 69 66 2c 20 66 6f 72 20 61 6e 79 20 /b> if, for any
0f90: 70 6f 73 73 69 62 6c 65 20 72 65 61 73 6f 6e 20 possible reason
0fa0: 28 73 79 73 74 65 6d 20 63 72 61 73 68 2c 20 70 (system crash, p
0fb0: 6f 77 65 72 20 66 61 69 6c 75 72 65 20 61 6e 64 ower failure and
0fc0: 20 61 6c 69 6b 65 29 2c 20 74 68 65 20 63 75 72 alike), the cur
0fd0: 72 65 6e 74 20 73 65 73 73 69 6f 6e 20 77 69 6c rent session wil
0fe0: 6c 20 66 61 69 6c 20 74 6f 20 63 6f 72 72 65 63 l fail to correc
0ff0: 74 6c 79 20 70 65 72 66 6f 72 6d 20 74 68 65 20 tly perform the
1000: 65 78 70 65 63 74 65 64 20 66 69 6e 61 6c 20 63 expected final c
1010: 6c 65 61 6e 75 70 2c 20 79 6f 75 72 20 53 51 4c leanup, your SQL
1020: 69 74 65 20 64 61 74 61 62 61 73 65 20 77 69 6c ite database wil
1030: 6c 20 72 65 6d 61 69 6e 20 69 6e 20 61 20 64 69 l remain in a di
1040: 72 74 79 20 61 6e 64 20 69 6e 63 6f 6e 73 69 73 rty and inconsis
1050: 74 65 6e 74 20 73 74 61 74 65 2e 3c 62 72 3e 0d tent state.<br>.
1060: 0a 41 73 20 74 68 65 20 73 69 64 65 20 66 69 67 .As the side fig
1070: 75 72 65 20 73 68 6f 77 73 2c 20 77 68 65 6e 20 ure shows, when
1080: 72 65 73 74 61 72 74 69 6e 67 20 61 20 6e 65 77 restarting a new
1090: 20 73 65 73 73 69 6f 6e 20 6d 61 6e 79 20 3c 62 session many <b
10a0: 3e 3c 69 3e 6f 72 70 68 61 6e 20 56 69 72 74 75 ><i>orphan Virtu
10b0: 61 6c 50 6f 73 74 67 72 65 73 20 74 61 62 6c 65 alPostgres table
10c0: 73 3c 2f 69 3e 3c 2f 62 3e 20 77 69 6c 6c 20 62 s</i></b> will b
10d0: 61 64 6c 79 20 72 65 6d 61 69 6e 20 66 72 6f 6d adly remain from
10e0: 20 74 68 65 20 6c 61 73 74 20 61 62 6f 72 74 65 the last aborte
10f0: 64 20 73 65 73 73 69 6f 6e 2e 3c 62 72 3e 3c 62 d session.<br><b
1100: 72 3e 0d 0a 49 66 20 74 68 69 73 20 69 73 20 79 r>..If this is y
1110: 6f 75 72 20 63 61 73 65 2c 20 64 6f 6e 27 74 20 our case, don't
1120: 64 65 73 70 61 69 72 3a 20 79 6f 75 20 6a 75 73 despair: you jus
1130: 74 20 68 61 76 65 20 74 6f 20 73 65 6c 65 63 74 t have to select
1140: 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 the appropriate
1150: 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 50 item from the P
1160: 6f 73 74 67 72 65 73 20 63 6f 6e 74 65 78 74 20 ostgres context
1170: 6d 65 6e 75 20 61 6e 64 20 74 68 65 20 44 42 20 menu and the DB
1180: 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 69 61 74 will be immediat
1190: 65 6c 79 20 72 65 63 6f 76 65 72 65 64 20 69 6e ely recovered in
11a0: 20 61 20 73 61 66 65 20 63 6f 6e 73 69 73 74 65 a safe consiste
11b0: 6e 74 20 61 6e 64 20 63 6c 65 61 6e 20 73 74 61 nt and clean sta
11c0: 74 65 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 te.</td>..<td><i
11d0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
11e0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
11f0: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f gaia-sins/gui-po
1200: 73 74 67 72 65 73 2f 6f 72 70 68 61 6e 73 2e 70 stgres/orphans.p
1210: 6e 67 22 20 61 6c 74 3d 22 6f 72 70 68 61 6e 20 ng" alt="orphan
1220: 74 61 62 6c 65 73 22 3e 3c 2f 74 64 3e 0d 0a 3c tables"></td>..<
1230: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f /tr>..<tr><td co
1240: 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d lspan="2" align=
1250: 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 33 20 2d "center"><h3>3 -
1260: 20 4d 65 74 61 64 61 74 61 20 6f 66 20 50 6f 73 Metadata of Pos
1270: 74 67 72 65 53 51 4c 20 6f 62 6a 65 63 74 73 3c tgreSQL objects<
1280: 2f 68 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 /h3><hr></td></t
1290: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
12a0: 3e 33 2e 61 3c 2f 62 3e 20 79 6f 75 20 63 61 6e >3.a</b> you can
12b0: 20 65 61 73 69 6c 79 20 71 75 65 72 79 20 74 68 easily query th
12c0: 65 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 65 e metadata for e
12d0: 61 63 68 20 50 6f 73 74 67 72 65 73 20 6f 62 6a ach Postgres obj
12e0: 65 63 74 3b 20 6a 75 73 74 20 73 65 6c 65 63 74 ect; just select
12f0: 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 the appropriate
1300: 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 63 item from the c
1310: 6f 6e 74 65 78 74 20 6d 65 6e 75 2e 3c 2f 74 64 ontext menu.</td
1320: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
1330: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
1340: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
1350: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
1360: 67 75 69 36 2e 70 6e 67 22 20 61 6c 74 3d 22 6d gui6.png" alt="m
1370: 65 74 61 64 61 74 61 20 69 6e 66 6f 22 3e 3c 2f etadata info"></
1380: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
1390: 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 62 3c 2f 62 3e ..<td><b>3.b</b>
13a0: 20 4d 65 74 61 64 61 74 61 20 66 6f 72 20 61 20 Metadata for a
13b0: 3c 62 3e 43 6f 6e 6e 65 63 74 69 6f 6e 3c 2f 62 <b>Connection</b
13c0: 3e 20 3c 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e > <i>aka</i> <b>
13d0: 44 61 74 61 62 61 73 65 3c 2f 62 3e 20 6f 62 6a Database</b> obj
13e0: 65 63 74 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 ect will report
13f0: 74 68 65 20 69 6e 69 74 69 61 6c 20 63 6f 6e 6e the initial conn
1400: 65 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 ection arguments
1410: 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c .<br><br><br>..<
1420: 68 72 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 0d 0a 3c hr>..<br><br>..<
1430: 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 79 6f 75 20 b>Note</b>: you
1440: 63 61 6e 20 65 76 65 6e 74 75 61 6c 6c 79 20 63 can eventually c
1450: 6f 6e 6e 65 63 74 20 6d 6f 72 65 20 74 68 61 6e onnect more than
1460: 20 61 20 73 69 6e 67 6c 65 20 50 6f 73 74 67 72 a single Postgr
1470: 65 73 20 44 61 74 61 62 61 73 65 20 69 6e 20 74 es Database in t
1480: 68 65 20 73 61 6d 65 20 73 65 73 73 69 6f 6e 3a he same session:
1490: 20 63 6f 6e 6e 65 63 74 69 6e 67 20 74 77 69 63 connecting twic
14a0: 65 20 74 68 65 20 73 61 6d 65 20 44 61 74 61 62 e the same Datab
14b0: 61 73 65 20 69 73 20 61 6c 77 61 79 73 20 66 6f ase is always fo
14c0: 72 62 69 64 64 65 6e 2e 3c 2f 74 64 3e 0d 0a 3c rbidden.</td>..<
14d0: 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 td><img src="htt
14e0: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
14f0: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 s.it/gaia-sins/g
1500: 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 37 ui-postgres/gui7
1510: 2e 70 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 .png" alt="conne
1520: 63 74 69 6f 6e 20 6d 65 74 61 64 61 74 61 22 3e ction metadata">
1530: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
1540: 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 63 3c 2f r>..<td><b>3.c</
1550: 62 3e 20 4d 65 74 61 64 61 74 61 20 66 6f 72 20 b> Metadata for
1560: 61 20 3c 62 3e 53 63 68 65 6d 61 3c 2f 62 3e 20 a <b>Schema</b>
1570: 6f 62 6a 65 63 74 20 61 72 65 6e 27 74 20 72 65 object aren't re
1580: 61 6c 6c 79 20 69 6e 74 65 72 65 73 74 69 6e 67 ally interesting
1590: 2c 20 62 65 63 61 75 73 65 20 6a 75 73 74 20 74 , because just t
15a0: 68 65 20 6e 61 6d 65 20 69 73 20 72 65 70 6f 72 he name is repor
15b0: 74 65 64 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c ted.</td>..<td><
15c0: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
15d0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
15e0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 /gaia-sins/gui-p
15f0: 6f 73 74 67 72 65 73 2f 67 75 69 38 2e 70 6e 67 ostgres/gui8.png
1600: 22 20 61 6c 74 3d 22 73 63 68 65 6d 61 20 6d 65 " alt="schema me
1610: 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c tadata"></td>..<
1620: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
1630: 3c 62 3e 33 2e 64 3c 2f 62 3e 20 4d 65 74 61 64 <b>3.d</b> Metad
1640: 61 74 61 20 66 6f 72 20 3c 62 3e 54 61 62 6c 65 ata for <b>Table
1650: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 56 69 65 77 3c </b> or <b>View<
1660: 2f 62 3e 20 6f 62 6a 65 63 74 73 20 77 69 6c 6c /b> objects will
1670: 20 72 65 70 6f 72 74 20 61 6c 6c 20 3c 62 3e 47 report all <b>G
1680: 52 41 4e 54 20 70 65 72 6d 69 73 73 69 6f 6e 73 RANT permissions
1690: 3c 2f 62 3e 20 66 6f 72 20 74 68 65 20 63 75 72 </b> for the cur
16a0: 72 65 6e 74 20 55 73 65 72 2e 3c 62 72 3e 3c 62 rent User.<br><b
16b0: 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 r><br>..<hr>..<b
16c0: 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c r><br>..<b>Note<
16d0: 2f 62 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 65 /b>: also in the
16e0: 20 63 61 73 65 20 6f 66 20 61 20 3c 62 3e 52 45 case of a <b>RE
16f0: 41 44 2d 57 52 49 54 45 3c 2f 62 3e 20 65 6e 61 AD-WRITE</b> ena
1700: 62 6c 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c bled connection,
1710: 20 61 6c 6c 20 50 6f 73 74 67 72 65 73 20 54 61 all Postgres Ta
1720: 62 6c 65 73 20 6c 61 63 6b 69 6e 67 20 74 68 65 bles lacking the
1730: 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 65 permission to e
1740: 78 65 63 75 74 65 20 3c 62 3e 49 4e 53 45 52 54 xecute <b>INSERT
1750: 3c 2f 62 3e 2c 20 3c 62 3e 55 50 44 41 54 45 3c </b>, <b>UPDATE<
1760: 2f 62 3e 20 6f 72 20 3c 62 3e 44 45 4c 45 54 45 /b> or <b>DELETE
1770: 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 </b> statements
1780: 77 69 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 63 will be always c
1790: 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 onsidered to be
17a0: 3c 62 3e 52 45 41 44 2d 4f 4e 4c 59 3c 2f 62 3e <b>READ-ONLY</b>
17b0: 2e 3c 62 72 3e 0d 0a 45 78 61 63 74 6c 79 20 61 .<br>..Exactly a
17c0: 73 20 61 6e 79 20 6f 74 68 65 72 20 54 61 62 6c s any other Tabl
17d0: 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 e not supported
17e0: 62 79 20 61 20 3c 62 3e 50 52 49 4d 41 52 59 20 by a <b>PRIMARY
17f0: 4b 45 59 3c 2f 62 3e 20 64 65 66 69 6e 69 74 69 KEY</b> definiti
1800: 6f 6e 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 on.</td>..<td><i
1810: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
1820: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
1830: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f gaia-sins/gui-po
1840: 73 74 67 72 65 73 2f 67 75 69 39 2e 70 6e 67 22 stgres/gui9.png"
1850: 20 61 6c 74 3d 22 74 61 62 6c 65 20 6d 65 74 61 alt="table meta
1860: 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 data"></td>..</t
1870: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
1880: 3e 33 2e 65 3c 2f 62 3e 20 4d 65 74 61 64 61 74 >3.e</b> Metadat
1890: 61 20 66 6f 72 20 61 20 3c 62 3e 50 6f 73 74 47 a for a <b>PostG
18a0: 49 53 20 54 61 62 6c 65 3c 2f 62 3e 20 6f 62 6a IS Table</b> obj
18b0: 65 63 74 73 20 77 69 6c 6c 20 72 65 70 6f 72 74 ects will report
18c0: 20 61 20 66 75 6c 6c 20 71 75 61 6c 69 66 69 63 a full qualific
18d0: 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 3c 62 3e ation of the <b>
18e0: 47 45 4f 4d 45 54 52 59 3c 2f 62 3e 20 63 6f 6c GEOMETRY</b> col
18f0: 75 6d 6e 28 73 29 2c 20 74 68 69 73 20 69 6e 63 umn(s), this inc
1900: 6c 75 64 69 6e 67 20 74 68 65 20 47 65 6f 6d 65 luding the Geome
1910: 74 72 79 54 79 70 65 2c 20 74 68 65 20 53 72 69 tryType, the Sri
1920: 64 20 61 6e 64 20 74 68 65 20 43 6f 6f 72 64 69 d and the Coordi
1930: 6e 61 74 65 44 69 6d 65 6e 73 69 6f 6e 73 2e 3c nateDimensions.<
1940: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
1950: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
1960: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
1970: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
1980: 65 73 2f 67 75 69 31 30 2e 70 6e 67 22 20 61 6c es/gui10.png" al
1990: 74 3d 22 70 6f 73 74 67 69 73 20 6d 65 74 61 64 t="postgis metad
19a0: 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ata"></td>..</tr
19b0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e >..<tr>..<td><b>
19c0: 33 2e 66 3c 2f 62 3e 20 61 6c 6c 20 3c 62 3e 50 3.f</b> all <b>P
19d0: 6f 73 74 47 49 53 20 54 61 62 6c 65 73 3c 2f 62 ostGIS Tables</b
19e0: 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 > will always ha
19f0: 76 65 20 61 20 3c 62 3e 63 6f 6d 70 61 6e 69 6f ve a <b>companio
1a00: 6e 20 54 61 62 6c 65 3c 2f 62 3e 20 73 68 61 72 n Table</b> shar
1a10: 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 64 65 ing the same ide
1a20: 6e 74 69 63 61 6c 20 6e 61 6d 65 20 65 78 63 65 ntical name exce
1a30: 70 74 20 74 68 61 74 20 66 6f 72 20 61 20 66 69 pt that for a fi
1a40: 6e 61 6c 20 3c 62 3e 5f 70 6f 73 74 67 69 73 3c nal <b>_postgis<
1a50: 2f 62 3e 20 73 75 66 66 69 78 2e 3c 62 72 3e 3c /b> suffix.<br><
1a60: 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 br><br>..<b>Note
1a70: 3c 2f 62 3e 3a 20 74 68 65 73 65 20 61 72 65 20 </b>: these are
1a80: 6e 6f 74 20 3c 62 3e 56 69 72 74 75 61 6c 50 6f not <b>VirtualPo
1a90: 73 74 67 72 65 73 20 54 61 62 6c 65 73 3c 2f 62 stgres Tables</b
1aa0: 3e 3b 20 74 68 65 79 20 61 72 65 20 69 6e 73 74 >; they are inst
1ab0: 65 61 64 20 53 70 61 74 69 61 6c 69 74 65 27 73 ead Spatialite's
1ac0: 20 6f 77 6e 20 3c 62 3e 53 70 61 74 69 61 6c 20 own <b>Spatial
1ad0: 56 69 65 77 73 3c 2f 62 3e 2c 20 61 6e 64 20 74 Views</b>, and t
1ae0: 68 65 69 72 20 69 6e 74 65 6e 64 65 64 20 73 63 heir intended sc
1af0: 6f 70 65 20 69 73 20 74 6f 20 70 65 72 66 6f 72 ope is to perfor
1b00: 6d 20 61 20 73 69 6c 65 6e 74 20 61 6e 64 20 66 m a silent and f
1b10: 75 6c 6c 79 20 74 72 61 6e 73 70 61 72 65 6e 74 ully transparent
1b20: 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 62 conversion of b
1b30: 69 6e 61 72 79 20 47 65 6f 6d 65 74 72 69 65 73 inary Geometries
1b40: 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 20 back and forth
1b50: 66 72 6f 6d 20 6f 6e 65 20 66 6f 72 6d 61 74 20 from one format
1b60: 74 6f 20 74 68 65 20 6f 74 68 65 72 20 69 6e 20 to the other in
1b70: 74 68 65 20 6d 6f 73 74 20 75 73 65 72 20 66 72 the most user fr
1b80: 69 65 6e 64 6c 79 20 77 61 79 2e 3c 2f 74 64 3e iendly way.</td>
1b90: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 ..<td><img src="
1ba0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
1bb0: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
1bc0: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 s/gui-postgres/g
1bd0: 75 69 31 31 2e 70 6e 67 22 20 61 6c 74 3d 22 70 ui11.png" alt="p
1be0: 6f 73 74 67 69 73 20 77 72 61 70 70 65 72 20 6d ostgis wrapper m
1bf0: 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a etadata"></td>..
1c00: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 </tr>..<tr><td c
1c10: 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e olspan="2" align
1c20: 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 34 20 ="center"><h3>4
1c30: 2d 20 48 61 6e 64 6c 69 6e 67 20 50 6f 73 74 67 - Handling Postg
1c40: 72 65 53 51 4c 20 54 61 62 6c 65 73 20 61 6e 64 reSQL Tables and
1c50: 20 56 69 65 77 73 3c 2f 68 33 3e 3c 68 72 3e 3c Views</h3><hr><
1c60: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d /td></tr>..<tr>.
1c70: 0a 3c 74 64 3e 3c 62 3e 34 2e 61 3c 2f 62 3e 20 .<td><b>4.a</b>
1c80: 50 6f 73 74 67 72 65 53 51 4c 20 54 61 62 6c 65 PostgreSQL Table
1c90: 73 20 61 6e 64 20 56 69 65 77 73 20 61 72 65 20 s and Views are
1ca0: 63 6f 6e 73 69 64 65 72 65 64 2c 20 61 73 20 66 considered, as f
1cb0: 61 72 20 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 ar as possible,
1cc0: 61 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 as if they were
1cd0: 6e 61 74 69 76 65 20 53 51 4c 69 74 65 20 6f 62 native SQLite ob
1ce0: 6a 65 63 74 73 2e 3c 62 72 3e 0d 0a 53 6f 20 74 jects.<br>..So t
1cf0: 68 65 20 75 73 75 61 6c 20 6f 70 65 72 61 74 69 he usual operati
1d00: 6f 6e 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e ons supported on
1d10: 20 53 51 4c 69 74 65 27 73 20 6f 77 6e 20 6f 62 SQLite's own ob
1d20: 6a 65 63 74 73 20 77 69 6c 6c 20 62 65 20 73 75 jects will be su
1d30: 70 70 6f 72 74 65 64 20 61 6c 73 6f 20 69 6e 20 pported also in
1d40: 74 68 65 20 63 61 73 65 20 6f 66 20 50 6f 73 74 the case of Post
1d50: 67 72 65 53 51 4c 20 6f 62 6a 65 63 74 73 2e 3c greSQL objects.<
1d60: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
1d70: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
1d80: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
1d90: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
1da0: 65 73 2f 67 75 69 31 32 2e 70 6e 67 22 20 61 6c es/gui12.png" al
1db0: 74 3d 22 74 61 62 6c 65 20 6f 70 65 72 61 74 69 t="table operati
1dc0: 6f 6e 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ons"></td>..</tr
1dd0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e >..<tr>..<td><b>
1de0: 34 2e 62 3c 2f 62 3e 20 74 68 65 20 61 62 6f 76 4.b</b> the abov
1df0: 65 20 63 72 69 74 65 72 69 61 20 77 69 6c 6c 20 e criteria will
1e00: 61 70 70 6c 79 20 61 6c 73 6f 20 74 6f 20 50 6f apply also to Po
1e10: 73 74 47 49 53 20 47 65 6f 6d 65 74 72 69 65 73 stGIS Geometries
1e20: 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c .<br><br><br>..<
1e30: 62 3e 48 69 6e 74 3c 2f 62 3e 3a 20 65 78 70 6f b>Hint</b>: expo
1e40: 72 74 69 6e 67 20 61 20 66 75 6c 6c 20 53 68 61 rting a full Sha
1e50: 70 65 66 69 6c 65 20 66 72 6f 6d 20 61 20 50 6f pefile from a Po
1e60: 73 74 47 49 53 20 47 65 6f 6d 65 74 72 79 20 77 stGIS Geometry w
1e70: 61 73 20 6e 65 76 65 72 20 6d 6f 72 65 20 64 69 as never more di
1e80: 72 65 63 74 20 61 6e 64 20 73 69 6d 70 6c 65 20 rect and simple
1e90: 74 68 61 6e 20 74 68 69 73 2e 3c 2f 74 64 3e 0d than this.</td>.
1ea0: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 .<td><img src="h
1eb0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
1ec0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
1ed0: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 /gui-postgres/gu
1ee0: 69 31 33 2e 70 6e 67 22 20 61 6c 74 3d 22 67 65 i13.png" alt="ge
1ef0: 6f 6d 65 74 72 79 20 6f 70 65 72 61 74 69 6f 6e ometry operation
1f00: 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d s"></td>..</tr>.
1f10: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e .<tr>..<td><b>4.
1f20: 63 3c 2f 62 3e 20 62 65 20 77 61 72 6e 65 64 3b c</b> be warned;
1f30: 20 64 69 72 65 63 74 6c 79 20 71 75 65 72 79 69 directly queryi
1f40: 6e 67 20 61 20 3c 62 3e 50 6f 73 74 47 49 53 20 ng a <b>PostGIS
1f50: 54 61 62 6c 65 3c 2f 62 3e 20 28 69 2e 65 2e 20 Table</b> (i.e.
1f60: 61 20 56 69 72 74 75 61 6c 50 6f 73 74 67 72 65 a VirtualPostgre
1f70: 73 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 69 s Table containi
1f80: 6e 67 20 50 6f 73 74 47 49 53 20 47 65 6f 6d 65 ng PostGIS Geome
1f90: 74 72 69 65 73 29 20 6e 65 76 65 72 20 69 73 20 tries) never is
1fa0: 61 20 67 6f 6f 64 20 69 64 65 61 2e 0d 0a 59 6f a good idea...Yo
1fb0: 75 27 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 u'll be always a
1fc0: 73 6b 65 64 20 74 77 69 63 65 20 62 65 66 6f 72 sked twice befor
1fd0: 65 20 73 74 61 72 74 69 6e 67 20 73 75 63 68 20 e starting such
1fe0: 61 20 73 74 75 70 69 64 20 28 61 6e 64 20 70 6f a stupid (and po
1ff0: 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e 67 65 72 tentially danger
2000: 6f 75 73 29 20 61 63 74 69 6f 6e 2e 3c 2f 74 64 ous) action.</td
2010: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
2020: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
2030: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
2040: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
2050: 67 75 69 31 37 2e 70 6e 67 22 20 61 6c 74 3d 22 gui17.png" alt="
2060: 64 69 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 direct postgis q
2070: 75 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 uery"></td>..</t
2080: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
2090: 3e 34 2e 64 3c 2f 62 3e 20 74 68 65 20 72 65 61 >4.d</b> the rea
20a0: 73 6f 6e 20 66 6f 72 20 73 75 63 68 20 61 20 62 son for such a b
20b0: 65 68 61 76 69 6f 75 72 20 69 73 20 63 6c 65 61 ehaviour is clea
20c0: 72 6c 79 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 rly shown in the
20d0: 20 73 69 64 65 20 66 69 67 75 72 65 2e 3c 62 72 side figure.<br
20e0: 3e 0d 0a 41 20 56 69 72 74 75 61 6c 50 6f 73 74 >..A VirtualPost
20f0: 67 72 65 73 20 54 61 62 6c 65 20 77 69 6c 6c 20 gres Table will
2100: 65 78 70 6f 73 65 20 61 6c 6c 20 47 65 6f 6d 65 expose all Geome
2110: 74 72 69 65 73 20 61 73 20 3c 62 3e 45 57 4b 42 tries as <b>EWKB
2120: 20 74 65 78 74 20 73 74 72 69 6e 67 73 3c 2f 62 text strings</b
2130: 3e 20 75 73 69 6e 67 20 61 6e 20 68 65 78 61 64 > using an hexad
2140: 65 63 69 6d 61 6c 20 6e 6f 74 61 74 69 6f 6e 3b ecimal notation;
2150: 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 in this case we
2160: 20 68 61 76 65 20 73 69 6d 70 6c 65 20 50 4f 49 have simple POI
2170: 4e 54 53 2c 20 61 6e 64 20 74 68 65 20 45 57 4b NTS, and the EWK
2180: 42 20 73 74 72 69 6e 67 73 20 61 72 65 20 72 65 B strings are re
2190: 61 73 6f 6e 61 62 6c 79 20 63 6f 6d 70 61 63 74 asonably compact
21a0: 2e 3c 62 72 3e 0d 0a 42 75 74 20 75 6e 68 61 70 .<br>..But unhap
21b0: 70 69 6c 79 20 63 6f 6d 70 6c 65 78 20 4c 49 4e pily complex LIN
21c0: 45 53 54 52 49 4e 47 20 6f 72 20 50 4f 4c 59 47 ESTRING or POLYG
21d0: 4f 4e 20 47 65 6f 6d 65 74 72 69 65 73 20 6d 61 ON Geometries ma
21e0: 79 20 65 61 73 69 6c 79 20 72 65 71 75 69 72 65 y easily require
21f0: 20 73 65 76 65 72 61 6c 20 6d 69 6c 6c 69 6f 6e several million
2200: 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 characters, and
2210: 20 74 68 69 73 20 77 69 6c 6c 20 65 61 73 69 6c this will easil
2220: 79 20 6f 76 65 72 20 73 74 72 65 73 73 20 74 68 y over stress th
2230: 65 20 47 55 49 2e 3c 62 72 3e 0d 0a 54 68 65 20 e GUI.<br>..The
2240: 65 78 65 63 75 74 69 6f 6e 20 73 70 65 65 64 20 execution speed
2250: 6f 66 20 73 75 63 68 20 61 20 71 75 65 72 79 20 of such a query
2260: 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79 20 62 will certainly b
2270: 65 20 76 65 72 79 20 73 6c 75 67 67 69 73 68 2c e very sluggish,
2280: 20 61 6e 64 20 73 6f 6d 65 20 69 6e 73 74 61 62 and some instab
2290: 69 6c 69 74 79 20 74 72 6f 75 62 6c 65 20 63 6f ility trouble co
22a0: 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 61 uld eventually a
22b0: 72 69 73 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 rise.<br><br><br
22c0: 3e 0d 0a 3c 62 3e 53 68 6f 72 74 20 63 6f 6e 63 >..<b>Short conc
22d0: 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6e 65 76 65 lusion</b>: neve
22e0: 72 20 65 76 65 72 20 61 74 74 65 6d 70 74 20 74 r ever attempt t
22f0: 6f 20 64 69 72 65 63 74 6c 79 20 71 75 65 72 79 o directly query
2300: 20 61 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65 a PostGIS Table
2310: 20 21 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d !</td>..<td><im
2320: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
2330: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
2340: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
2350: 74 67 72 65 73 2f 67 75 69 31 35 2e 70 6e 67 22 tgres/gui15.png"
2360: 20 61 6c 74 3d 22 64 69 72 65 63 74 20 70 6f 73 alt="direct pos
2370: 74 67 69 73 20 71 75 65 72 79 22 3e 3c 2f 74 64 tgis query"></td
2380: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
2390: 3c 74 64 3e 3c 62 3e 34 2e 65 3c 2f 62 3e 20 61 <td><b>4.e</b> a
23a0: 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69 companion Spati
23b0: 61 6c 20 56 69 65 77 20 69 73 20 61 6c 77 61 79 al View is alway
23c0: 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 65 76 s defined for ev
23d0: 65 72 79 20 50 6f 73 74 47 49 53 20 54 61 62 6c ery PostGIS Tabl
23e0: 65 2c 20 61 6e 64 20 69 73 20 73 70 65 63 69 66 e, and is specif
23f0: 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 ically intended
2400: 74 6f 20 73 75 70 70 6f 72 74 20 73 61 66 65 20 to support safe
2410: 61 6e 64 20 74 72 6f 75 62 6c 65 20 66 72 65 65 and trouble free
2420: 20 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 54 queries.<br>..T
2430: 68 61 74 27 73 20 6e 6f 74 20 6f 6e 6c 79 3a 20 hat's not only:
2440: 74 68 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 the companion Sp
2450: 61 74 69 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 atial View will
2460: 74 61 6b 65 20 63 61 72 65 20 74 6f 20 73 69 6c take care to sil
2470: 65 6e 74 6c 79 20 63 6f 6e 76 65 72 74 20 62 69 ently convert bi
2480: 6e 61 72 79 20 47 65 6f 6d 65 74 72 69 65 73 20 nary Geometries
2490: 74 6f 20 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 to and from the
24a0: 75 73 75 61 6c 20 53 70 61 74 69 61 4c 69 74 65 usual SpatiaLite
24b0: 27 73 20 6f 77 6e 20 66 6f 72 6d 61 74 2c 20 74 's own format, t
24c0: 68 75 73 20 67 72 65 61 74 6c 79 20 73 69 6d 70 hus greatly simp
24d0: 6c 69 66 79 69 6e 67 20 74 68 65 20 65 76 65 6e lifying the even
24e0: 74 75 61 6c 20 77 72 69 74 69 6e 67 20 6f 66 20 tual writing of
24f0: 63 75 73 74 6f 6d 69 7a 65 64 20 53 51 4c 20 71 customized SQL q
2500: 75 65 72 69 65 73 20 75 73 69 6e 67 20 53 70 61 ueries using Spa
2510: 74 69 61 6c 20 46 75 6e 63 74 69 6f 6e 73 2e 3c tial Functions.<
2520: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
2530: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
2540: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
2550: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
2560: 65 73 2f 67 75 69 31 36 2e 70 6e 67 22 20 61 6c es/gui16.png" al
2570: 74 3d 22 69 6e 64 69 72 65 63 74 20 70 6f 73 74 t="indirect post
2580: 67 69 73 20 71 75 65 72 79 22 3e 3c 2f 74 64 3e gis query"></td>
2590: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
25a0: 74 64 3e 3c 62 3e 34 2e 66 3c 2f 62 3e 20 74 68 td><b>4.f</b> th
25b0: 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 e companion Spat
25c0: 69 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 61 6c ial View will al
25d0: 77 61 79 73 20 62 65 20 61 20 3c 62 3e 57 72 69 ways be a <b>Wri
25e0: 74 61 62 6c 65 20 56 69 65 77 3c 2f 62 3e 20 69 table View</b> i
25f0: 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 f the correspond
2600: 69 6e 67 20 50 6f 73 74 47 49 53 20 54 61 62 6c ing PostGIS Tabl
2610: 65 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 e is appropriate
2620: 6c 79 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 69 ly enabled and i
2630: 66 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e f the connection
2640: 20 73 75 70 70 6f 72 74 73 20 52 45 41 44 2d 57 supports READ-W
2650: 52 49 54 45 20 6f 70 65 72 61 74 69 6f 6e 73 2e RITE operations.
2660: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 <br><br><br>..<b
2670: 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 61 70 70 72 6f >Note</b>: appro
2680: 70 72 69 61 74 65 20 54 72 69 67 67 65 72 73 20 priate Triggers
2690: 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74 69 will be automati
26a0: 63 61 6c 6c 79 20 64 65 66 69 6e 65 64 20 73 6f cally defined so
26b0: 20 74 6f 20 6c 65 74 20 74 68 65 20 53 70 61 74 to let the Spat
26c0: 69 61 6c 20 56 69 65 77 20 74 6f 20 62 65 63 6f ial View to beco
26d0: 6d 65 20 61 20 57 72 69 74 61 62 6c 65 20 56 69 me a Writable Vi
26e0: 65 77 20 66 75 6c 6c 79 20 73 75 70 70 6f 72 74 ew fully support
26f0: 69 6e 67 20 3c 62 3e 49 4e 53 45 52 54 3c 2f 62 ing <b>INSERT</b
2700: 3e 2c 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e >, <b>UPDATE</b>
2710: 20 61 6e 64 20 3c 62 3e 44 45 4c 45 54 45 3c 2f and <b>DELETE</
2720: 62 3e 20 6f 70 65 72 61 74 69 6f 6e 73 2e 3c 2f b> operations.</
2730: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 td>..<td><img sr
2740: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 c="https://www.g
2750: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
2760: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 sins/gui-postgre
2770: 73 2f 67 75 69 31 34 2e 70 6e 67 22 20 61 6c 74 s/gui14.png" alt
2780: 3d 22 70 6f 73 74 67 69 73 20 65 64 69 74 69 6e ="postgis editin
2790: 67 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d g"></td>..</tr>.
27a0: 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e .<tr><td colspan
27b0: 3d 22 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 ="2" align="cent
27c0: 65 72 22 3e 3c 68 33 3e 41 64 64 65 6e 64 75 6d er"><h3>Addendum
27d0: 3a 20 73 70 65 63 69 61 6c 20 6e 6f 74 65 20 66 : special note f
27e0: 6f 72 20 57 69 6e 64 6f 77 73 20 75 73 65 72 73 or Windows users
27f0: 3c 2f 68 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f </h3><hr></td></
2800: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c tr>..<tr><td col
2810: 73 70 61 6e 20 3d 20 22 32 22 3e 0d 0a 41 6c 6c span = "2">..All
2820: 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f previous versio
2830: 6e 73 20 6f 66 20 74 68 65 20 47 55 49 20 62 69 ns of the GUI bi
2840: 6e 61 72 69 65 73 20 72 65 6c 65 61 73 65 64 20 naries released
2850: 69 6e 20 74 68 65 20 70 61 73 74 20 77 65 72 65 in the past were
2860: 20 61 6c 77 61 79 73 20 62 61 73 65 64 20 6f 6e always based on
2870: 20 61 20 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 a single monoli
2880: 74 68 69 63 20 3c 62 3e 2e 65 78 65 3c 2f 62 3e thic <b>.exe</b>
2890: 20 66 75 6c 6c 79 20 64 65 70 65 6e 64 69 6e 67 fully depending
28a0: 20 6f 6e 20 73 74 61 74 69 63 20 6c 69 6e 6b 61 on static linka
28b0: 67 65 20 61 6e 64 20 6e 6f 74 20 72 65 71 75 69 ge and not requi
28c0: 72 69 6e 67 20 61 6e 79 20 44 4c 4c 20 61 74 20 ring any DLL at
28d0: 61 6c 6c 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 55 6e all.<br><br>..Un
28e0: 68 61 70 70 69 6c 79 20 74 68 69 73 20 69 73 20 happily this is
28f0: 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 73 73 69 62 no longer possib
2900: 6c 65 2c 20 62 65 63 61 75 73 65 20 3c 62 3e 6c le, because <b>l
2910: 69 62 70 71 3c 2f 62 3e 20 28 3c 69 3e 74 68 65 ibpq</b> (<i>the
2920: 20 50 6f 73 74 67 72 65 53 51 4c 20 6f 77 6e 20 PostgreSQL own
2930: 63 6c 69 65 6e 74 20 6c 69 62 72 61 72 79 3c 2f client library</
2940: 69 3e 29 20 69 73 20 75 6e 69 71 75 65 6c 79 20 i>) is uniquely
2950: 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 44 available as a D
2960: 4c 4c 20 6f 6e 20 57 69 6e 64 6f 77 73 2c 20 61 LL on Windows, a
2970: 6e 64 20 74 68 65 72 65 20 69 73 20 61 62 73 6f nd there is abso
2980: 6c 75 74 65 6c 79 20 6e 6f 20 77 61 79 20 74 6f lutely no way to
2990: 20 62 75 69 6c 64 20 61 20 63 6f 72 72 65 73 70 build a corresp
29a0: 6f 6e 64 69 6e 67 20 73 74 61 74 69 63 20 6c 69 onding static li
29b0: 62 72 61 72 79 2e 3c 62 72 3e 0d 0a 4d 6f 72 65 brary.<br>..More
29c0: 20 70 72 65 63 69 73 65 6c 79 3a 20 61 20 73 74 precisely: a st
29d0: 61 74 69 63 20 6c 69 62 72 61 72 79 20 69 73 20 atic library is
29e0: 61 63 74 75 61 6c 6c 79 20 62 75 69 6c 74 20 77 actually built w
29f0: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 50 6f hen compiling Po
2a00: 73 74 67 72 65 53 51 4c 2c 20 62 75 74 20 6f 6e stgreSQL, but on
2a10: 20 57 69 6e 64 6f 77 73 20 69 74 20 73 69 6d 70 Windows it simp
2a20: 6c 79 20 69 73 20 61 20 73 74 75 62 20 73 74 69 ly is a stub sti
2a30: 6c 6c 20 72 65 71 75 69 72 69 6e 67 20 74 6f 20 ll requiring to
2a40: 6c 6f 61 64 20 74 68 65 20 44 4c 4c 20 61 74 20 load the DLL at
2a50: 72 75 6e 20 74 69 6d 65 2e 3c 62 72 3e 3c 62 72 run time.<br><br
2a60: 3e 3c 62 72 3e 0d 0a 41 6c 6c 20 74 68 69 73 20 ><br>..All this
2a70: 63 6f 6e 73 69 64 65 72 65 64 2c 20 6e 6f 77 20 considered, now
2a80: 3c 62 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 <b>spatialite_gu
2a90: 69 2e 65 78 65 3c 2f 62 3e 20 69 73 20 6b 69 6e i.exe</b> is kin
2aa0: 64 20 6f 66 20 61 6e 20 68 79 62 72 69 64 3b 20 d of an hybrid;
2ab0: 69 74 20 6d 6f 73 74 6c 79 20 64 65 70 65 6e 64 it mostly depend
2ac0: 73 20 6f 6e 20 73 74 61 74 69 63 20 6c 69 6e 6b s on static link
2ad0: 61 67 65 2c 20 65 78 63 65 70 74 20 74 68 61 6e age, except than
2ae0: 20 66 6f 72 20 3c 62 3e 6c 69 62 70 71 2e 64 6c for <b>libpq.dl
2af0: 6c 3c 2f 62 3e 2e 3c 62 72 3e 0d 0a 53 6f 20 61 l</b>.<br>..So a
2b00: 20 72 65 61 73 6f 6e 61 62 6c 65 20 63 6f 6d 70 reasonable comp
2b10: 72 6f 6d 69 73 65 20 68 61 73 20 62 65 65 6e 20 romise has been
2b20: 61 64 6f 70 74 65 64 20 69 6e 20 6f 72 64 65 72 adopted in order
2b30: 20 74 6f 20 6d 69 74 69 67 61 74 65 20 74 68 65 to mitigate the
2b40: 20 6e 65 67 61 74 69 76 65 20 69 6d 70 61 63 74 negative impact
2b50: 20 6f 66 20 73 75 63 68 20 61 6e 20 6f 64 64 20 of such an odd
2b60: 6c 61 79 6f 75 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c layout:..<ul>..<
2b70: 6c 69 3e 74 68 65 20 62 69 6e 61 72 69 65 73 20 li>the binaries
2b80: 66 6f 72 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 for Windows plat
2b90: 66 6f 72 6d 73 20 77 69 6c 6c 20 62 65 20 62 75 forms will be bu
2ba0: 69 6c 74 20 69 6e 20 73 75 63 68 20 61 20 77 61 ilt in such a wa
2bb0: 79 20 74 68 61 74 20 3c 62 3e 6c 69 62 70 71 2e y that <b>libpq.
2bc0: 64 6c 6c 3c 2f 62 3e 20 77 69 6c 6c 20 73 75 70 dll</b> will sup
2bd0: 70 6f 72 74 20 77 68 61 74 20 69 73 20 67 65 6e port what is gen
2be0: 65 72 61 6c 6c 79 20 6b 6e 6f 77 6e 20 61 73 20 erally known as
2bf0: 3c 62 3e 6c 61 74 65 20 62 69 6e 64 69 6e 67 3c <b>late binding<
2c00: 2f 62 3e 20 61 6b 61 20 3c 62 3e 64 65 66 65 72 /b> aka <b>defer
2c10: 72 65 64 20 62 69 6e 64 69 6e 67 3c 2f 62 3e 2e red binding</b>.
2c20: 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 </li>..<li>this
2c30: 77 61 79 20 74 68 65 20 6d 61 69 6e 20 63 6f 72 way the main cor
2c40: 65 20 6f 66 20 74 68 65 20 47 55 49 20 77 69 6c e of the GUI wil
2c50: 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 6e 69 l continue to ni
2c60: 63 65 6c 79 20 77 6f 72 6b 20 65 76 65 6e 20 77 cely work even w
2c70: 68 65 6e 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c hen <b>libpq.dll
2c80: 3c 2f 62 3e 20 68 61 73 6e 27 74 20 79 65 74 20 </b> hasn't yet
2c90: 62 65 65 6e 20 6c 6f 61 64 65 64 2e 3c 2f 6c 69 been loaded.</li
2ca0: 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c 69 62 70 71 2e >..<li><b>libpq.
2cb0: 64 6c 6c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 dll</b> will be
2cc0: 61 63 74 75 61 6c 6c 79 20 6c 6f 61 64 65 64 20 actually loaded
2cd0: 6f 6e 6c 79 20 77 68 65 6e 20 73 74 72 69 63 74 only when strict
2ce0: 6c 79 20 6e 65 65 64 65 64 2c 20 69 2e 65 2e 20 ly needed, i.e.
2cf0: 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 72 65 when the user re
2d00: 71 75 69 72 65 73 20 74 6f 20 65 73 74 61 62 6c quires to establ
2d10: 69 73 68 20 61 20 50 6f 73 74 67 72 65 53 51 4c ish a PostgreSQL
2d20: 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 3c 2f 6c 69 connection.</li
2d30: 3e 0d 0a 3c 6c 69 3e 69 66 20 74 68 65 20 44 4c >..<li>if the DL
2d40: 4c 20 66 61 69 6c 73 20 74 6f 20 62 65 20 6c 6f L fails to be lo
2d50: 61 64 65 64 20 66 6f 72 20 61 6e 79 20 72 65 61 aded for any rea
2d60: 73 6f 6e 2c 20 74 68 65 6e 20 74 68 65 20 47 55 son, then the GU
2d70: 49 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 I will continue
2d80: 75 6e 61 66 66 65 63 74 65 64 2c 20 65 78 63 65 unaffected, exce
2d90: 70 74 20 66 6f 72 20 74 68 61 74 20 74 68 65 20 pt for that the
2da0: 50 6f 73 74 67 72 65 53 51 4c 20 73 75 70 70 6f PostgreSQL suppo
2db0: 72 74 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 rt will continue
2dc0: 20 74 6f 20 62 65 20 6b 65 70 74 20 64 69 73 61 to be kept disa
2dd0: 62 6c 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c bled.</li>..</ul
2de0: 3e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c >..</td></tr>..<
2df0: 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 tr><td colspan="
2e00: 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 2" align="center
2e10: 22 3e 3c 68 33 3e 48 6f 77 20 69 74 20 70 72 61 "><h3>How it pra
2e20: 63 74 69 63 61 6c 6c 79 20 77 6f 72 6b 73 3c 2f ctically works</
2e30: 68 33 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 h3</td></tr>..<t
2e40: 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 41 2e 31 3c 2f r>..<td><b>A.1</
2e50: 62 3e 20 77 68 65 6e 20 72 65 71 75 69 72 65 64 b> when required
2e60: 20 74 6f 20 61 63 63 65 73 73 20 50 6f 73 74 67 to access Postg
2e70: 72 65 53 51 4c 20 66 6f 72 20 74 68 65 20 66 69 reSQL for the fi
2e80: 72 73 74 20 74 69 6d 65 2c 20 74 68 65 20 47 55 rst time, the GU
2e90: 49 20 77 69 6c 6c 20 61 63 74 75 61 6c 6c 79 20 I will actually
2ea0: 61 74 74 65 6d 70 74 20 74 6f 20 6c 6f 61 64 20 attempt to load
2eb0: 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e <b>libpq.dll</b>
2ec0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 20 66 :..<ul>..<li>a f
2ed0: 69 72 73 74 20 61 75 74 6f 6d 61 74 69 63 20 61 irst automatic a
2ee0: 74 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 70 ttempt will be p
2ef0: 65 72 66 6f 72 6d 65 64 20 61 63 63 6f 72 64 69 erformed accordi
2f00: 6e 67 6c 79 20 74 6f 20 74 68 65 20 73 74 61 6e ngly to the stan
2f10: 64 61 72 64 20 70 6c 61 74 66 6f 72 6d 20 72 75 dard platform ru
2f20: 6c 65 73 2e 3c 62 72 3e 0d 0a 3c 62 3e 48 69 6e les.<br>..<b>Hin
2f30: 74 3c 2f 62 3e 3a 20 6f 6e 20 57 69 6e 64 6f 77 t</b>: on Window
2f40: 73 20 69 74 20 75 73 75 61 6c 6c 79 20 69 73 20 s it usually is
2f50: 61 20 76 65 72 79 20 6e 69 63 65 20 73 6f 6c 75 a very nice solu
2f60: 74 69 6f 6e 20 74 6f 20 70 6c 61 63 65 20 74 68 tion to place th
2f70: 65 20 44 4c 4c 20 69 6e 20 74 68 65 20 73 61 6d e DLL in the sam
2f80: 65 20 66 6f 6c 64 65 72 20 77 68 65 72 65 20 74 e folder where t
2f90: 68 65 20 47 55 49 20 65 78 65 63 75 74 61 62 6c he GUI executabl
2fa0: 65 20 69 73 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e e is.</li>..<li>
2fb0: 69 66 20 73 75 63 68 20 61 6e 20 61 74 74 65 6d if such an attem
2fc0: 70 74 20 66 61 69 6c 73 2c 20 74 68 65 6e 20 74 pt fails, then t
2fd0: 68 65 20 75 73 65 72 20 69 73 20 61 73 6b 65 64 he user is asked
2fe0: 20 66 6f 72 20 6d 61 6e 75 61 6c 6c 79 20 73 65 for manually se
2ff0: 61 72 63 68 69 6e 67 20 3c 62 3e 6c 69 62 70 71 arching <b>libpq
3000: 2e 64 6c 6c 3c 2f 62 3e 2c 20 61 73 20 73 68 6f .dll</b>, as sho
3010: 77 6e 20 62 79 20 74 68 65 20 73 69 64 65 20 66 wn by the side f
3020: 69 67 75 72 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 igure.</li>..</u
3030: 6c 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d l></td>..<td><im
3040: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
3050: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
3060: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
3070: 74 67 72 65 73 2f 6c 69 62 70 71 2d 64 65 66 65 tgres/libpq-defe
3080: 72 72 65 64 31 2e 70 6e 67 22 20 61 6c 74 3d 22 rred1.png" alt="
3090: 6c 69 62 70 71 20 6e 6f 74 20 66 6f 75 6e 64 22 libpq not found"
30a0: 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c ></td>..</tr>..<
30b0: 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 41 2e 32 3c tr>..<td><b>A.2<
30c0: 2f 62 3e 20 6e 6f 77 20 79 6f 75 20 63 61 6e 20 /b> now you can
30d0: 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 use the standard
30e0: 20 46 69 6c 65 20 53 65 6c 65 63 74 69 6f 6e 20 File Selection
30f0: 64 69 61 6c 6f 67 20 69 6e 20 6f 72 64 65 72 20 dialog in order
3100: 74 6f 20 6c 6f 63 61 74 65 20 61 6e 64 20 6f 70 to locate and op
3110: 65 6e 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c en <b>libpq.dll<
3120: 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e /b>.<br><br><br>
3130: 0d 0a 3c 62 3e 57 61 72 6e 69 6e 67 3c 2f 62 3e ..<b>Warning</b>
3140: 3a 20 61 20 76 65 72 79 20 63 6f 6d 6d 6f 6e 20 : a very common
3150: 70 69 74 66 61 6c 6c 20 69 73 20 61 74 74 65 6d pitfall is attem
3160: 70 74 69 6e 67 20 74 6f 20 6c 6f 61 64 20 61 20 pting to load a
3170: 33 32 20 62 69 74 20 44 4c 4c 20 6f 6e 20 61 20 32 bit DLL on a
3180: 36 34 20 62 69 74 20 47 55 49 2c 20 6f 72 20 74 64 bit GUI, or t
3190: 68 65 20 6f 70 70 6f 73 69 74 65 2e 3c 62 72 3e he opposite.<br>
31a0: 0d 0a 54 68 65 20 63 6f 64 65 20 6d 6f 64 65 6c ..The code model
31b0: 20 6f 66 20 62 6f 74 68 20 74 68 65 20 65 78 65 of both the exe
31c0: 63 75 74 61 62 6c 65 20 61 6e 64 20 74 68 65 20 cutable and the
31d0: 44 4c 4c 20 6d 75 73 74 20 6e 65 63 65 73 73 61 DLL must necessa
31e0: 72 69 6c 79 20 6d 61 74 63 68 2e 3c 2f 74 64 3e rily match.</td>
31f0: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 ..<td><img src="
3200: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
3210: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
3220: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6c s/gui-postgres/l
3230: 69 62 70 71 2d 64 65 66 65 72 72 65 64 32 2e 70 ibpq-deferred2.p
3240: 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 20 6f ng" alt="libpq o
3250: 70 65 6e 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 pen"></td>..</tr
3260: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e >..<tr>..<td><b>
3270: 41 2e 33 3c 2f 62 3e 20 69 66 20 3c 62 3e 6c 69 A.3</b> if <b>li
3280: 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 68 61 73 20 bpq.dll</b> has
3290: 62 65 65 6e 20 73 75 63 63 65 73 73 66 75 6c 6c been successfull
32a0: 79 20 6c 6f 61 64 65 64 20 61 20 63 6f 6e 66 69 y loaded a confi
32b0: 72 6d 61 74 69 6f 6e 20 6d 65 73 73 61 67 65 20 rmation message
32c0: 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e 3c 62 will be shown.<b
32d0: 72 3e 0d 0a 54 68 65 20 61 73 73 6f 63 69 61 74 r>..The associat
32e0: 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 ion between the
32f0: 47 55 49 20 61 6e 64 20 74 68 65 20 44 4c 4c 20 GUI and the DLL
3300: 77 69 6c 6c 20 62 65 20 70 65 72 6d 61 6e 65 6e will be permanen
3310: 74 6c 79 20 72 65 67 69 73 74 65 72 65 64 2c 20 tly registered,
3320: 73 6f 20 74 6f 20 61 6c 6c 6f 77 20 66 6f 72 20 so to allow for
3330: 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 6c 6f 61 an automatic loa
3340: 64 69 6e 67 20 69 6e 20 61 6c 6c 20 74 68 65 20 ding in all the
3350: 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 73 73 69 6f following sessio
3360: 6e 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 ns.</td>..<td><i
3370: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
3380: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
3390: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f gaia-sins/gui-po
33a0: 73 74 67 72 65 73 2f 6c 69 62 70 71 2d 64 65 66 stgres/libpq-def
33b0: 65 72 72 65 64 33 2e 70 6e 67 22 20 61 6c 74 3d erred3.png" alt=
33c0: 22 6c 69 62 70 71 20 6c 6f 61 64 65 64 22 3e 3c "libpq loaded"><
33d0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 /td>..</tr>..</t
33e0: 61 62 6c 65 3e 0d 0a 0d 0a 0d 0a 42 61 63 6b 20 able>......Back
33f0: 74 6f 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 to <a href="http
3400: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
3410: 2e 69 74 2f 66 6f 73 73 69 6c 2f 73 70 61 74 69 .it/fossil/spati
3420: 61 6c 69 74 65 5f 67 75 69 2f 77 69 6b 69 3f 6e alite_gui/wiki?n
3430: 61 6d 65 3d 73 70 61 74 69 61 6c 69 74 65 2d 67 ame=spatialite-g
3440: 75 69 22 3e 6d 61 69 6e 20 57 69 6b 69 20 70 61 ui">main Wiki pa
3450: 67 65 3c 2f 61 3e 0a 5a 20 36 61 37 34 65 34 36 ge</a>.Z 6a74e46
3460: 63 63 33 35 39 31 36 35 61 32 30 64 66 66 39 38 cc359165a20dff98
3470: 61 62 63 35 64 62 32 65 34 0a abc5db2e4.