Wiki page
[PostgreSQL] by
sandro
2018-08-06 06:39:10.
0000: 44 20 32 30 31 38 2d 30 38 2d 30 36 54 30 36 3a D 2018-08-06T06:
0010: 33 39 3a 31 30 2e 31 33 31 0a 4c 20 50 6f 73 74 39:10.131.L Post
0020: 67 72 65 53 51 4c 0a 50 20 34 39 61 34 33 37 39 greSQL.P 49a4379
0030: 66 33 39 63 33 33 39 30 36 66 32 37 63 33 34 34 f39c33906f27c344
0040: 38 62 37 31 64 64 64 66 66 37 33 61 34 64 31 37 8b71dddff73a4d17
0050: 36 0a 55 20 73 61 6e 64 72 6f 0a 57 20 31 33 33 6.U sandro.W 133
0060: 35 37 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72 57.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 66 69 72 73 74 20 70 72 1.a</b> first pr
03a0: 65 73 73 20 74 68 65 20 61 70 70 72 6f 70 72 69 ess the appropri
03b0: 61 74 65 20 62 75 74 74 6f 6e 20 66 72 6f 6d 20 ate button from
03c0: 74 68 65 20 54 6f 6f 6c 62 61 72 3c 2f 74 64 3e the Toolbar</td>
03d0: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 ..<td><img src="
03e0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
03f0: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
0400: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 s/gui-postgres/g
0410: 75 69 31 2e 70 6e 67 22 20 61 6c 74 3d 22 63 6f ui1.png" alt="co
0420: 6e 6e 65 63 74 69 6f 6e 20 31 22 3e 3c 2f 74 64 nnection 1"></td
0430: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
0440: 3c 74 64 3e 3c 62 3e 31 2e 62 3c 2f 62 3e 20 74 <td><b>1.b</b> t
0450: 68 65 6e 20 73 65 6c 65 63 74 20 74 68 65 20 61 hen select the a
0460: 70 70 72 6f 70 72 69 61 74 65 20 69 74 65 6d 20 ppropriate item
0470: 66 72 6f 6d 20 74 68 65 20 6d 61 69 6e 20 4d 65 from the main Me
0480: 6e 75 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d nu</td>..<td><im
0490: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
04a0: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
04b0: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
04c0: 74 67 72 65 73 2f 67 75 69 32 2e 70 6e 67 22 20 tgres/gui2.png"
04d0: 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 20 alt="connection
04e0: 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 2"></td>..</tr>.
04f0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 .</tr>..<tr>..<t
0500: 64 3e 3c 62 3e 31 2e 63 3c 2f 62 3e 20 61 6e 64 d><b>1.c</b> and
0510: 20 66 69 6e 61 6c 6c 79 20 73 65 6c 65 63 74 20 finally select
0520: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 the appropriate
0530: 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 63 6f item from the co
0540: 6e 74 65 78 74 20 4d 65 6e 75 20 74 68 61 74 20 ntext Menu that
0550: 77 69 6c 6c 20 61 70 70 65 61 72 20 62 79 20 63 will appear by c
0560: 6c 69 63 6b 69 6e 67 20 74 68 65 20 3c 62 3e 6c licking the <b>l
0570: 65 66 74 3c 2f 62 3e 20 62 75 74 74 6f 6e 20 6f eft</b> button o
0580: 66 20 74 68 65 20 6d 6f 75 73 65 20 6f 76 65 72 f the mouse over
0590: 20 74 68 65 20 3c 62 3e 50 6f 73 74 72 65 53 51 the <b>PostreSQ
05a0: 4c 3c 2f 62 3e 20 6d 61 69 6e 20 6e 6f 64 65 20 L</b> main node
05b0: 66 72 6f 6d 20 74 68 65 20 54 61 62 6c 65 20 54 from the Table T
05c0: 72 65 65 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c ree.</td>..<td><
05d0: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
05e0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
05f0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 /gaia-sins/gui-p
0600: 6f 73 74 67 72 65 73 2f 67 75 69 33 2e 70 6e 67 ostgres/gui3.png
0610: 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f " alt="connectio
0620: 6e 20 33 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 n 3"></td>..</tr
0630: 3e 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 31 2e ><tr>..<td><b>1.
0640: 64 3c 2f 62 3e 20 69 6e 20 61 6c 6c 20 74 68 72 d</b> in all thr
0650: 65 65 20 63 61 73 65 73 20 74 68 65 20 50 6f 73 ee cases the Pos
0660: 74 67 72 65 53 51 4c 20 63 6f 6e 6e 65 63 74 69 tgreSQL connecti
0670: 6f 6e 20 64 69 61 6c 6f 67 20 77 69 6c 6c 20 74 on dialog will t
0680: 68 65 6e 20 61 70 70 65 61 72 2e 3c 62 72 3e 0d hen appear.<br>.
0690: 0a 4a 75 73 74 20 69 6e 73 65 72 74 20 74 68 65 .Just insert the
06a0: 20 72 65 71 75 69 72 65 64 20 63 6f 6e 6e 65 63 required connec
06b0: 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 20 61 tion arguments a
06c0: 6e 64 20 63 6f 6e 66 69 72 6d 2e 3c 62 72 3e 3c nd confirm.<br><
06d0: 62 72 3e 0d 0a 57 68 65 6e 20 69 6e 76 61 6c 69 br>..When invali
06e0: 64 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 d arguments are
06f0: 67 69 76 65 6e 2c 20 61 6e 20 65 72 72 6f 72 20 given, an error
0700: 6d 65 73 73 61 67 65 20 20 77 69 6c 6c 20 62 65 message will be
0710: 20 64 69 73 70 6c 61 79 65 64 2c 20 6f 74 68 65 displayed, othe
0720: 72 77 69 73 65 20 74 68 65 20 63 6f 6e 6e 65 63 rwise the connec
0730: 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 69 6d 6d tion will be imm
0740: 65 64 69 61 74 65 6c 79 20 65 73 74 61 62 6c 69 ediately establi
0750: 73 68 65 64 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 shed.<br><br><br
0760: 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e 3c 62 72 ><hr><br><br><br
0770: 3e 0d 0a 49 66 20 79 6f 75 20 61 72 65 20 61 74 >..If you are at
0780: 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 6e tempting to conn
0790: 65 63 74 20 61 20 72 65 6d 6f 74 65 20 73 65 72 ect a remote ser
07a0: 76 65 72 2c 20 79 6f 75 20 6d 61 79 20 66 69 6e ver, you may fin
07b0: 64 20 69 74 20 75 73 65 66 75 6c 20 74 6f 20 72 d it useful to r
07c0: 65 61 64 20 74 68 65 20 74 75 74 6f 72 69 61 6c ead the tutorial
07d0: 20 61 62 6f 75 74 20 3c 61 20 68 72 65 66 3d 22 about <a href="
07e0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
07f0: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 76 -gis.it/fossil/v
0800: 69 72 74 75 61 6c 70 67 2f 77 69 6b 69 3f 6e 61 irtualpg/wiki?na
0810: 6d 65 3d 70 6f 72 74 2d 66 6f 72 77 61 72 64 69 me=port-forwardi
0820: 6e 67 22 3e 53 53 48 20 74 75 6e 6e 65 6c 69 6e ng">SSH tunnelin
0830: 67 20 61 6e 64 20 50 6f 72 74 20 46 6f 72 77 61 g and Port Forwa
0840: 72 64 69 6e 67 3c 2f 61 3e 0d 0a 3c 62 72 3e 3c rding</a>..<br><
0850: 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c br><br>..<hr>..<
0860: 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72 3d 22 23 table bgcolor="#
0870: 66 66 63 63 38 30 22 20 63 65 6c 6c 73 70 61 63 ffcc80" cellspac
0880: 69 6e 67 3d 22 36 22 20 63 65 6c 6c 70 61 64 64 ing="6" cellpadd
0890: 69 6e 67 3d 22 36 22 20 62 6f 72 64 65 72 3d 22 ing="6" border="
08a0: 31 22 20 77 69 64 74 68 3d 22 31 30 30 25 22 3e 1" width="100%">
08b0: 0d 0a 3c 74 72 3e 3c 74 64 20 61 6c 69 67 6e 3d ..<tr><td align=
08c0: 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 53 70 65 "center"><h3>Spe
08d0: 63 69 61 6c 20 6e 6f 74 65 20 66 6f 72 20 57 69 cial note for Wi
08e0: 6e 64 6f 77 73 20 75 73 65 72 73 3c 2f 68 33 3e ndows users</h3>
08f0: 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e </td></tr>..<tr>
0900: 3c 74 64 3e 0d 0a 50 6c 65 61 73 65 20 72 65 61 <td>..Please rea
0910: 64 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 d the <a href="#
0920: 61 64 64 65 6e 64 75 6d 22 3e 41 64 64 65 6e 64 addendum">Addend
0930: 75 6d 3c 2f 61 3e 20 61 62 6f 75 74 20 4c 69 62 um</a> about Lib
0940: 50 51 20 6c 61 74 65 20 62 69 6e 64 69 6e 67 2e PQ late binding.
0950: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 2f ..</td></tr>..</
0960: 74 61 62 6c 65 3e 3c 2f 74 64 3e 0d 0a 3c 74 64 table></td>..<td
0970: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 ><img src="https
0980: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
0990: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 it/gaia-sins/gui
09a0: 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 34 2e 70 -postgres/gui4.p
09b0: 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 ng" alt="connect
09c0: 69 6f 6e 20 34 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f ion 4"></td>..</
09d0: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c tr>..<tr><td col
09e0: 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d 22 span="2" align="
09f0: 63 65 6e 74 65 72 22 3e 3c 68 33 3e 32 20 2d 20 center"><h3>2 -
0a00: 45 78 70 61 6e 64 69 6e 67 20 74 68 65 20 50 6f Expanding the Po
0a10: 73 74 67 72 65 53 51 4c 20 74 72 65 65 3c 2f 68 stgreSQL tree</h
0a20: 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 3><hr></td></tr>
0a30: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 32 ..<tr>..<td><b>2
0a40: 2e 61 3c 2f 62 3e 20 6f 6e 63 65 20 61 20 6e 65 .a</b> once a ne
0a50: 77 20 50 6f 73 74 67 72 65 73 20 63 6f 6e 6e 65 w Postgres conne
0a60: 63 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 73 ction has been s
0a70: 75 63 63 65 73 73 66 75 6c 6c 79 20 65 73 74 61 uccessfully esta
0a80: 62 6c 69 73 68 65 64 2c 20 74 68 65 20 50 6f 73 blished, the Pos
0a90: 74 67 72 65 73 20 6e 6f 64 65 20 6f 6e 20 74 68 tgres node on th
0aa0: 65 20 6d 61 69 6e 20 54 61 62 6c 65 20 54 72 65 e main Table Tre
0ab0: 65 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 e will contain a
0ac0: 6c 6c 20 54 61 62 6c 65 73 20 61 6e 64 20 56 69 ll Tables and Vi
0ad0: 65 77 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 ews defined in t
0ae0: 68 65 20 50 6f 73 74 67 72 65 73 20 44 61 74 61 he Postgres Data
0af0: 62 61 73 65 2c 20 69 6e 20 74 68 65 20 73 61 6d base, in the sam
0b00: 65 20 61 72 72 61 6e 67 65 6d 65 6e 74 20 61 64 e arrangement ad
0b10: 6f 70 74 65 64 20 62 79 20 50 6f 73 74 67 72 65 opted by Postgre
0b20: 53 51 4c 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e SQL:..<ul>..<li>
0b30: 43 6f 6e 6e 65 63 74 69 6f 6e 20 3c 69 3e 61 6b Connection <i>ak
0b40: 61 3c 2f 69 3e 20 3c 62 3e 44 61 74 61 62 61 73 a</i> <b>Databas
0b50: 65 3c 2f 62 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 e</b>..<ul>..<li
0b60: 3e 3c 62 3e 53 63 68 65 6d 61 3c 2f 62 3e 0d 0a ><b>Schema</b>..
0b70: 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e 54 61 62 <ul>..<li><b>Tab
0b80: 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 56 69 65 le</b> or <b>Vie
0b90: 77 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c w</b></li>..</ul
0ba0: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 6c ></li>..</ul></l
0bb0: 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e 3c 62 72 i>..</ul><br><br
0bc0: 3e 0d 0a 54 68 65 20 64 69 66 66 65 72 65 6e 74 >..The different
0bd0: 20 64 61 74 61 62 61 73 65 20 74 79 70 65 73 20 database types
0be0: 77 69 6c 6c 20 62 65 20 69 64 65 6e 74 69 66 69 will be identifi
0bf0: 65 64 20 62 79 20 61 6e 20 61 70 70 72 6f 70 72 ed by an appropr
0c00: 69 61 74 65 20 69 63 6f 6e 3b 20 56 69 65 77 73 iate icon; Views
0c10: 20 77 69 6c 6c 20 62 65 20 64 69 73 74 69 6e 67 will be disting
0c20: 75 69 73 68 65 64 20 66 72 6f 6d 20 54 61 62 6c uished from Tabl
0c30: 65 73 2c 20 61 6e 64 20 3c 62 3e 50 6f 73 74 47 es, and <b>PostG
0c40: 49 53 3c 2f 62 3e 20 54 61 62 6c 65 73 20 28 63 IS</b> Tables (c
0c50: 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e 47 65 6f ontaining <b>Geo
0c60: 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e metry</b> column
0c70: 73 29 20 77 69 6c 6c 20 62 65 20 63 6c 65 61 72 s) will be clear
0c80: 6c 79 20 64 69 73 74 69 6e 67 75 69 73 68 65 64 ly distinguished
0c90: 20 66 72 6f 6d 20 6f 72 64 69 6e 61 72 79 20 54 from ordinary T
0ca0: 61 62 6c 65 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a ables.<br><br>..
0cb0: 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 61 6c 6c <b>Note</b>: all
0cc0: 20 50 6f 73 74 67 72 65 73 20 54 61 62 6c 65 73 Postgres Tables
0cd0: 20 61 6e 64 20 56 69 65 77 73 20 28 6e 61 6d 65 and Views (name
0ce0: 6c 79 3a 20 3c 62 3e 56 69 72 74 75 61 6c 50 6f ly: <b>VirtualPo
0cf0: 73 74 67 72 65 73 3c 2f 62 3e 20 54 61 62 6c 65 stgres</b> Table
0d00: 73 29 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 s) will always h
0d10: 61 76 65 20 61 20 63 6f 6e 76 65 6e 74 69 6f 6e ave a convention
0d20: 61 6c 20 6e 61 6d 65 20 73 74 61 72 74 69 6e 67 al name starting
0d30: 20 77 69 74 68 20 74 68 65 20 3c 62 3e 76 70 67 with the <b>vpg
0d40: 5f 3c 2f 62 3e 20 70 72 65 66 69 78 2e 3c 62 72 _</b> prefix.<br
0d50: 3e 0d 0a 57 68 65 6e 65 76 65 72 20 70 6f 73 73 >..Whenever poss
0d60: 69 62 6c 65 20 74 68 65 20 6f 72 69 67 69 6e 61 ible the origina
0d70: 6c 20 50 6f 73 74 67 72 65 73 20 4e 61 6d 65 20 l Postgres Name
0d80: 77 69 6c 6c 20 62 65 20 70 72 65 73 65 72 76 65 will be preserve
0d90: 64 2c 20 6f 74 68 65 72 77 69 73 65 20 61 20 6e d, otherwise a n
0da0: 75 6d 65 72 69 63 20 73 75 66 66 69 78 20 69 74 umeric suffix it
0db0: 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 2c 20 will be added,
0dc0: 65 6e 73 75 72 69 6e 67 20 61 20 75 6e 69 71 75 ensuring a uniqu
0dd0: 65 20 6e 61 6d 65 20 2e 3c 62 72 3e 3c 62 72 3e e name .<br><br>
0de0: 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e <br>..<hr>..<br>
0df0: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 <br>..<b>Note</b
0e00: 3e 3a 20 61 6c 6c 20 64 61 74 61 62 61 73 65 20 >: all database
0e10: 6f 62 6a 65 63 74 73 20 69 6e 20 74 68 65 20 50 objects in the P
0e20: 6f 73 74 67 72 65 73 20 54 72 65 65 20 61 72 65 ostgres Tree are
0e30: 20 64 79 6e 61 6d 69 63 2c 20 61 6e 64 20 77 69 dynamic, and wi
0e40: 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ll automatically
0e50: 20 64 69 73 61 70 70 65 61 72 20 77 68 65 6e 20 disappear when
0e60: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e the correspondin
0e70: 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 77 69 6c g connection wil
0e80: 6c 20 62 65 20 63 6c 6f 73 65 64 2c 20 6f 72 20 l be closed, or
0e90: 77 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 when the current
0ea0: 20 73 65 73 73 69 6f 6e 20 65 6e 64 73 2e 3c 2f session ends.</
0eb0: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 td>..<td><img sr
0ec0: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 c="https://www.g
0ed0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
0ee0: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 sins/gui-postgre
0ef0: 73 2f 67 75 69 35 2e 70 6e 67 22 20 61 6c 74 3d s/gui5.png" alt=
0f00: 22 74 61 62 6c 65 20 74 72 65 65 22 3e 3c 2f 74 "table tree"></t
0f10: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d d>..</tr>..<tr>.
0f20: 0a 3c 74 64 3e 3c 62 3e 32 2e 62 3c 2f 62 3e 20 .<td><b>2.b</b>
0f30: 69 66 2c 20 66 6f 72 20 61 6e 79 20 70 6f 73 73 if, for any poss
0f40: 69 62 6c 65 20 72 65 61 73 6f 6e 20 28 73 75 63 ible reason (suc
0f50: 68 20 61 73 20 6f 6e 3a 20 61 20 73 79 73 74 65 h as on: a syste
0f60: 6d 20 63 72 61 73 68 2c 20 70 6f 77 65 72 20 66 m crash, power f
0f70: 61 69 6c 75 72 65 2c 20 65 74 63 2e 29 2c 20 74 ailure, etc.), t
0f80: 68 65 20 63 75 72 72 65 6e 74 20 73 65 73 73 69 he current sessi
0f90: 6f 6e 20 77 69 6c 6c 20 66 61 69 6c 20 74 6f 20 on will fail to
0fa0: 63 6f 72 72 65 63 74 6c 79 20 70 65 72 66 6f 72 correctly perfor
0fb0: 6d 20 74 68 65 20 65 78 70 65 63 74 65 64 20 66 m the expected f
0fc0: 69 6e 61 6c 20 63 6c 65 61 6e 75 70 2c 20 79 6f inal cleanup, yo
0fd0: 75 72 20 53 51 4c 69 74 65 20 64 61 74 61 62 61 ur SQLite databa
0fe0: 73 65 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 69 se will remain i
0ff0: 6e 20 61 20 64 69 72 74 79 20 61 6e 64 20 69 6e n a dirty and in
1000: 63 6f 6e 73 69 73 74 65 6e 74 20 73 74 61 74 65 consistent state
1010: 2e 3c 62 72 3e 0d 0a 41 73 20 74 68 65 20 73 69 .<br>..As the si
1020: 64 65 20 66 69 67 75 72 65 20 73 68 6f 77 73 2c de figure shows,
1030: 20 77 68 65 6e 20 72 65 73 74 61 72 74 69 6e 67 when restarting
1040: 20 61 20 6e 65 77 20 73 65 73 73 69 6f 6e 20 61 a new session a
1050: 6c 6c 20 3c 62 3e 6f 72 70 68 61 6e 65 64 20 56 ll <b>orphaned V
1060: 69 72 74 75 61 6c 50 6f 73 74 67 72 65 73 20 74 irtualPostgres t
1070: 61 62 6c 65 73 3c 2f 62 3e 2c 20 66 72 6f 6d 20 ables</b>, from
1080: 61 6e 79 20 61 62 6f 72 74 65 64 20 73 65 73 73 any aborted sess
1090: 69 6f 6e 28 73 29 2c 20 63 61 6e 20 73 74 69 6c ion(s), can stil
10a0: 6c 20 62 65 20 73 65 65 6e 2e 3c 62 72 3e 3c 62 l be seen.<br><b
10b0: 72 3e 0d 0a 49 66 20 74 68 69 73 20 68 61 70 70 r>..If this happ
10c0: 65 6e 73 2c 20 64 6f 6e 27 74 20 64 65 73 70 61 ens, don't despa
10d0: 69 72 3a 20 61 6c 6c 20 79 6f 75 20 6e 65 65 64 ir: all you need
10e0: 20 74 6f 20 64 6f 20 69 73 20 74 6f 20 73 65 6c to do is to sel
10f0: 65 63 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 ect the appropri
1100: 61 74 65 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 ate item from th
1110: 65 20 50 6f 73 74 67 72 65 73 20 63 6f 6e 74 65 e Postgres conte
1120: 78 74 20 6d 65 6e 75 20 61 6e 64 20 74 68 65 20 xt menu and the
1130: 44 42 20 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 DB will be immed
1140: 69 61 74 65 6c 79 20 62 65 20 63 6f 6e 76 65 72 iately be conver
1150: 74 65 64 20 69 6e 74 6f 20 61 20 73 61 66 65 2c ted into a safe,
1160: 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 6e 64 20 consistent and
1170: 63 6c 65 61 6e 20 73 74 61 74 65 2e 3c 2f 74 64 clean state.</td
1180: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
1190: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
11a0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
11b0: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
11c0: 6f 72 70 68 61 6e 73 2e 70 6e 67 22 20 61 6c 74 orphans.png" alt
11d0: 3d 22 6f 72 70 68 61 6e 20 74 61 62 6c 65 73 22 ="orphan tables"
11e0: 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c ></td>..</tr>..<
11f0: 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 tr><td colspan="
1200: 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 2" align="center
1210: 22 3e 3c 68 33 3e 33 20 2d 20 4d 65 74 61 64 61 "><h3>3 - Metada
1220: 74 61 20 6f 66 20 50 6f 73 74 67 72 65 53 51 4c ta of PostgreSQL
1230: 20 6f 62 6a 65 63 74 73 3c 2f 68 33 3e 3c 68 72 objects</h3><hr
1240: 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 ></td></tr>..<tr
1250: 3e 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 61 3c 2f 62 >..<td><b>3.a</b
1260: 3e 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 > you can easily
1270: 20 71 75 65 72 79 20 74 68 65 20 6d 65 74 61 64 query the metad
1280: 61 74 61 20 66 6f 72 20 65 61 63 68 20 50 6f 73 ata for each Pos
1290: 74 67 72 65 73 20 6f 62 6a 65 63 74 3b 20 6a 75 tgres object; ju
12a0: 73 74 20 73 65 6c 65 63 74 20 74 68 65 20 61 70 st select the ap
12b0: 70 72 6f 70 72 69 61 74 65 20 69 74 65 6d 20 66 propriate item f
12c0: 72 6f 6d 20 74 68 65 20 63 6f 6e 74 65 78 74 20 rom the context
12d0: 6d 65 6e 75 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e menu.</td>..<td>
12e0: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a <img src="https:
12f0: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 //www.gaia-gis.i
1300: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d t/gaia-sins/gui-
1310: 70 6f 73 74 67 72 65 73 2f 67 75 69 36 2e 70 6e postgres/gui6.pn
1320: 67 22 20 61 6c 74 3d 22 6d 65 74 61 64 61 74 61 g" alt="metadata
1330: 20 69 6e 66 6f 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f info"></td>..</
1340: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c tr>..<tr>..<td><
1350: 62 3e 33 2e 62 3c 2f 62 3e 20 4d 65 74 61 64 61 b>3.b</b> Metada
1360: 74 61 20 66 6f 72 20 61 20 3c 62 3e 43 6f 6e 6e ta for a <b>Conn
1370: 65 63 74 69 6f 6e 3c 2f 62 3e 20 3c 69 3e 61 6b ection</b> <i>ak
1380: 61 3c 2f 69 3e 20 3c 62 3e 44 61 74 61 62 61 73 a</i> <b>Databas
1390: 65 3c 2f 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c e</b> object wil
13a0: 6c 20 72 65 70 6f 72 74 20 74 68 65 20 69 6e 69 l report the ini
13b0: 74 69 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 tial connection
13c0: 61 72 67 75 6d 65 6e 74 73 2e 3c 62 72 3e 3c 62 arguments.<br><b
13d0: 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 r><br>..<hr>..<b
13e0: 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c r><br>..<b>Note<
13f0: 2f 62 3e 3a 20 79 6f 75 20 63 61 6e 20 61 6c 77 /b>: you can alw
1400: 61 79 73 20 63 6f 6e 6e 65 63 74 20 6d 6f 72 65 ays connect more
1410: 20 74 68 61 6e 20 6f 6e 65 20 50 6f 73 74 67 72 than one Postgr
1420: 65 73 20 44 61 74 61 62 61 73 65 20 69 6e 20 74 es Database in t
1430: 68 65 20 73 61 6d 65 20 73 65 73 73 69 6f 6e 3b he same session;
1440: 20 68 6f 77 65 76 65 72 20 63 6f 6e 6e 65 63 74 however connect
1450: 69 6e 67 20 74 68 65 20 73 61 6d 65 20 44 61 74 ing the same Dat
1460: 61 62 61 73 65 20 6d 6f 72 65 20 74 68 61 6e 20 abase more than
1470: 6f 6e 63 65 20 69 73 20 6e 6f 74 20 70 65 72 6d once is not perm
1480: 69 74 74 65 64 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 itted.</td>..<td
1490: 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 ><img src="https
14a0: 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e ://www.gaia-gis.
14b0: 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 it/gaia-sins/gui
14c0: 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 37 2e 70 -postgres/gui7.p
14d0: 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 ng" alt="connect
14e0: 69 6f 6e 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f ion metadata"></
14f0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
1500: 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 63 3c 2f 62 3e ..<td><b>3.c</b>
1510: 20 4d 65 74 61 64 61 74 61 20 66 6f 72 20 61 20 Metadata for a
1520: 3c 62 3e 53 63 68 65 6d 61 3c 2f 62 3e 20 6f 62 <b>Schema</b> ob
1530: 6a 65 63 74 20 61 72 65 6e 27 74 20 72 65 61 6c ject aren't real
1540: 6c 79 20 76 65 72 79 20 69 6e 74 65 72 65 73 74 ly very interest
1550: 69 6e 67 2c 20 73 69 6e 63 65 20 6f 6e 6c 79 20 ing, since only
1560: 74 68 65 20 6e 61 6d 65 20 77 69 6c 6c 20 62 65 the name will be
1570: 20 73 68 6f 77 6e 2e 3c 2f 74 64 3e 0d 0a 3c 74 shown.</td>..<t
1580: 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 d><img src="http
1590: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 s://www.gaia-gis
15a0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 .it/gaia-sins/gu
15b0: 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 38 2e i-postgres/gui8.
15c0: 70 6e 67 22 20 61 6c 74 3d 22 73 63 68 65 6d 61 png" alt="schema
15d0: 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e metadata"></td>
15e0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
15f0: 74 64 3e 3c 62 3e 33 2e 64 3c 2f 62 3e 20 4d 65 td><b>3.d</b> Me
1600: 74 61 64 61 74 61 20 66 6f 72 20 3c 62 3e 54 61 tadata for <b>Ta
1610: 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e 56 69 ble</b> or <b>Vi
1620: 65 77 3c 2f 62 3e 20 6f 62 6a 65 63 74 20 77 69 ew</b> object wi
1630: 6c 6c 20 72 65 70 6f 72 74 20 61 6c 6c 20 3c 62 ll report all <b
1640: 3e 47 52 41 4e 54 20 70 65 72 6d 69 73 73 69 6f >GRANT permissio
1650: 6e 73 3c 2f 62 3e 20 66 6f 72 20 74 68 65 20 63 ns</b> for the c
1660: 75 72 72 65 6e 74 20 55 73 65 72 2e 3c 62 72 3e urrent User.<br>
1670: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a <br><br>..<hr>..
1680: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 <br><br>..<b>Not
1690: 65 3c 2f 62 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 e</b>: also in t
16a0: 68 65 20 63 61 73 65 20 6f 66 20 61 20 3c 62 3e he case of a <b>
16b0: 52 45 41 44 2d 57 52 49 54 45 3c 2f 62 3e 20 65 READ-WRITE</b> e
16c0: 6e 61 62 6c 65 64 20 63 6f 6e 6e 65 63 74 69 6f nabled connectio
16d0: 6e 2c 20 61 6c 6c 20 50 6f 73 74 67 72 65 73 20 n, all Postgres
16e0: 54 61 62 6c 65 73 20 6c 61 63 6b 69 6e 67 20 74 Tables lacking t
16f0: 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f he permission to
1700: 20 65 78 65 63 75 74 65 20 3c 62 3e 49 4e 53 45 execute <b>INSE
1710: 52 54 3c 2f 62 3e 2c 20 3c 62 3e 55 50 44 41 54 RT</b>, <b>UPDAT
1720: 45 3c 2f 62 3e 20 6f 72 20 3c 62 3e 44 45 4c 45 E</b> or <b>DELE
1730: 54 45 3c 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 TE</b> statement
1740: 73 20 77 69 6c 6c 20 62 65 20 74 72 65 61 74 65 s will be treate
1750: 64 20 61 73 20 3c 62 3e 52 45 41 44 2d 4f 4e 4c d as <b>READ-ONL
1760: 59 3c 2f 62 3e 20 54 61 62 6c 65 73 2e 3c 62 72 Y</b> Tables.<br
1770: 3e 0d 0a 54 68 65 20 73 61 6d 65 20 69 73 20 74 >..The same is t
1780: 72 75 65 20 66 6f 72 20 54 61 62 6c 65 73 20 77 rue for Tables w
1790: 68 65 72 65 20 6e 6f 20 3c 62 3e 50 52 49 4d 41 here no <b>PRIMA
17a0: 52 59 20 4b 45 59 3c 2f 62 3e 20 68 61 73 20 62 RY KEY</b> has b
17b0: 65 65 6e 20 64 65 66 69 6e 65 64 2e 3c 2f 74 64 een defined.</td
17c0: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
17d0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
17e0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
17f0: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
1800: 67 75 69 39 2e 70 6e 67 22 20 61 6c 74 3d 22 74 gui9.png" alt="t
1810: 61 62 6c 65 20 6d 65 74 61 64 61 74 61 22 3e 3c able metadata"><
1820: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
1830: 3e 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 65 3c 2f 62 >..<td><b>3.e</b
1840: 3e 20 4d 65 74 61 64 61 74 61 20 66 6f 72 20 61 > Metadata for a
1850: 20 3c 62 3e 50 6f 73 74 47 49 53 20 54 61 62 6c <b>PostGIS Tabl
1860: 65 3c 2f 62 3e 20 6f 62 6a 65 63 74 73 20 73 68 e</b> objects sh
1870: 6f 77 20 61 6c 6c 20 73 65 74 74 69 6e 67 73 20 ow all settings
1880: 6f 66 20 74 68 65 20 3c 62 3e 47 45 4f 4d 45 54 of the <b>GEOMET
1890: 52 59 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 28 73 29 RY</b> column(s)
18a0: 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 , including the
18b0: 47 65 6f 6d 65 74 72 79 54 79 70 65 2c 20 74 68 GeometryType, th
18c0: 65 20 53 72 69 64 20 61 6e 64 20 74 68 65 20 43 e Srid and the C
18d0: 6f 6f 72 64 69 6e 61 74 65 44 69 6d 65 6e 73 69 oordinateDimensi
18e0: 6f 6e 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 on.</td>..<td><i
18f0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
1900: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
1910: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f gaia-sins/gui-po
1920: 73 74 67 72 65 73 2f 67 75 69 31 30 2e 70 6e 67 stgres/gui10.png
1930: 22 20 61 6c 74 3d 22 70 6f 73 74 67 69 73 20 6d " alt="postgis m
1940: 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a etadata"></td>..
1950: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
1960: 3e 3c 62 3e 33 2e 66 3c 2f 62 3e 20 61 6c 6c 20 ><b>3.f</b> all
1970: 3c 62 3e 50 6f 73 74 47 49 53 20 54 61 62 6c 65 <b>PostGIS Table
1980: 73 3c 2f 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 s</b> will alway
1990: 73 20 68 61 76 65 20 61 20 3c 62 3e 63 6f 6d 70 s have a <b>comp
19a0: 61 6e 69 6f 6e 20 54 61 62 6c 65 3c 2f 62 3e 20 anion Table</b>
19b0: 73 68 61 72 69 6e 67 20 74 68 65 20 73 61 6d 65 sharing the same
19c0: 20 69 64 65 6e 74 69 63 61 6c 20 6e 61 6d 65 20 identical name
19d0: 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 3c except for the <
19e0: 62 3e 5f 70 6f 73 74 67 69 73 3c 2f 62 3e 20 73 b>_postgis</b> s
19f0: 75 66 66 69 78 2e 3c 62 72 3e 3c 62 72 3e 3c 62 uffix.<br><br><b
1a00: 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a r>..<b>Note</b>:
1a10: 20 74 68 65 73 65 20 61 72 65 20 6e 6f 74 20 74 these are not t
1a20: 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62 3e 56 he original <b>V
1a30: 69 72 74 75 61 6c 50 6f 73 74 67 72 65 73 20 54 irtualPostgres T
1a40: 61 62 6c 65 73 3c 2f 62 3e 20 77 68 69 63 68 20 ables</b> which
1a50: 73 74 6f 72 65 20 74 68 65 20 47 65 6f 6d 65 74 store the Geomet
1a60: 72 69 65 73 20 69 6e 20 74 68 65 20 6f 72 69 67 ries in the orig
1a70: 69 6e 61 6c 20 50 6f 73 74 67 72 65 73 20 62 69 inal Postgres bi
1a80: 6e 61 72 79 20 66 6f 72 6d 61 74 2c 20 62 75 74 nary format, but
1a90: 20 61 72 65 20 69 6e 73 74 65 61 64 20 53 70 61 are instead Spa
1aa0: 74 69 61 6c 69 74 65 27 73 20 6f 77 6e 20 3c 62 tialite's own <b
1ab0: 3e 53 70 61 74 69 61 6c 20 56 69 65 77 73 3c 2f >Spatial Views</
1ac0: 62 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20 47 65 b> containing Ge
1ad0: 6f 6d 65 74 72 69 65 73 20 63 6f 6e 76 65 72 74 ometries convert
1ae0: 65 64 20 74 6f 20 74 68 65 20 53 70 61 74 69 61 ed to the Spatia
1af0: 6c 69 74 65 20 62 69 6e 61 72 79 20 66 6f 72 6d lite binary form
1b00: 61 74 2e 20 54 68 65 20 63 6f 6e 76 65 72 73 69 at. The conversi
1b10: 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 on between the t
1b20: 77 6f 20 66 6f 72 6d 61 74 73 20 61 72 65 20 64 wo formats are d
1b30: 6f 6e 65 20 69 6e 20 74 68 65 20 62 61 63 6b 67 one in the backg
1b40: 72 6f 75 6e 64 20 61 6e 64 20 74 68 75 73 2c 20 round and thus,
1b50: 66 6f 72 20 74 68 65 20 75 73 65 72 2c 20 69 6e for the user, in
1b60: 20 61 20 63 6f 6d 70 6c 65 61 74 6c 79 20 74 72 a compleatly tr
1b70: 61 6e 73 70 61 72 65 6e 74 20 77 61 79 2e 3c 2f ansparent way.</
1b80: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 td>..<td><img sr
1b90: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 c="https://www.g
1ba0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d aia-gis.it/gaia-
1bb0: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 sins/gui-postgre
1bc0: 73 2f 67 75 69 31 31 2e 70 6e 67 22 20 61 6c 74 s/gui11.png" alt
1bd0: 3d 22 70 6f 73 74 67 69 73 20 77 72 61 70 70 65 ="postgis wrappe
1be0: 72 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 r metadata"></td
1bf0: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 >..</tr>..<tr><t
1c00: 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c d colspan="2" al
1c10: 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 ign="center"><h3
1c20: 3e 34 20 2d 20 48 61 6e 64 6c 69 6e 67 20 50 6f >4 - Handling Po
1c30: 73 74 67 72 65 53 51 4c 20 54 61 62 6c 65 73 20 stgreSQL Tables
1c40: 61 6e 64 20 56 69 65 77 73 3c 2f 68 33 3e 3c 68 and Views</h3><h
1c50: 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 r></td></tr>..<t
1c60: 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 61 3c 2f r>..<td><b>4.a</
1c70: 62 3e 20 50 6f 73 74 67 72 65 53 51 4c 20 54 61 b> PostgreSQL Ta
1c80: 62 6c 65 73 20 61 6e 64 20 56 69 65 77 73 20 61 bles and Views a
1c90: 72 65 20 63 6f 6e 73 69 64 65 72 65 64 2c 20 61 re considered, a
1ca0: 73 20 66 61 72 20 61 73 20 70 6f 73 73 69 62 6c s far as possibl
1cb0: 65 2c 20 61 73 20 69 66 20 74 68 65 79 20 77 65 e, as if they we
1cc0: 72 65 20 6e 61 74 69 76 65 20 53 51 4c 69 74 65 re native SQLite
1cd0: 20 6f 62 6a 65 63 74 73 2e 3c 62 72 3e 0d 0a 53 objects.<br>..S
1ce0: 6f 20 74 68 65 20 75 73 75 61 6c 20 6f 70 65 72 o the usual oper
1cf0: 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 74 65 64 ations supported
1d00: 20 6f 6e 20 53 51 4c 69 74 65 27 73 20 6f 77 6e on SQLite's own
1d10: 20 6f 62 6a 65 63 74 73 20 77 69 6c 6c 20 62 65 objects will be
1d20: 20 73 75 70 70 6f 72 74 65 64 20 61 6c 73 6f 20 supported also
1d30: 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 50 in the case of P
1d40: 6f 73 74 67 72 65 53 51 4c 20 6f 62 6a 65 63 74 ostgreSQL object
1d50: 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d s.</td>..<td><im
1d60: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
1d70: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
1d80: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
1d90: 74 67 72 65 73 2f 67 75 69 31 32 2e 70 6e 67 22 tgres/gui12.png"
1da0: 20 61 6c 74 3d 22 74 61 62 6c 65 20 6f 70 65 72 alt="table oper
1db0: 61 74 69 6f 6e 73 22 3e 3c 2f 74 64 3e 0d 0a 3c ations"></td>..<
1dc0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
1dd0: 3c 62 3e 34 2e 62 3c 2f 62 3e 20 74 68 65 20 61 <b>4.b</b> the a
1de0: 62 6f 76 65 20 63 72 69 74 65 72 69 61 20 77 69 bove criteria wi
1df0: 6c 6c 20 61 70 70 6c 79 20 61 6c 73 6f 20 74 6f ll apply also to
1e00: 20 50 6f 73 74 47 49 53 20 47 65 6f 6d 65 74 72 PostGIS Geometr
1e10: 69 65 73 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e ies.<br><br><br>
1e20: 0d 0a 3c 62 3e 48 69 6e 74 3c 2f 62 3e 3a 20 65 ..<b>Hint</b>: e
1e30: 78 70 6f 72 74 69 6e 67 20 61 20 66 75 6c 6c 20 xporting a full
1e40: 53 68 61 70 65 66 69 6c 65 20 66 72 6f 6d 20 61 Shapefile from a
1e50: 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65 20 77 PostGIS Table w
1e60: 61 73 20 6e 65 76 65 72 20 6d 6f 72 65 20 64 69 as never more di
1e70: 72 65 63 74 20 61 6e 64 20 73 69 6d 70 6c 65 20 rect and simple
1e80: 74 68 61 6e 20 74 68 69 73 2e 3c 2f 74 64 3e 0d than this.</td>.
1e90: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 .<td><img src="h
1ea0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
1eb0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
1ec0: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 /gui-postgres/gu
1ed0: 69 31 33 2e 70 6e 67 22 20 61 6c 74 3d 22 67 65 i13.png" alt="ge
1ee0: 6f 6d 65 74 72 79 20 6f 70 65 72 61 74 69 6f 6e ometry operation
1ef0: 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d s"></td>..</tr>.
1f00: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e .<tr>..<td><b>4.
1f10: 63 3c 2f 62 3e 20 62 65 20 77 61 72 6e 65 64 3b c</b> be warned;
1f20: 20 64 69 72 65 63 74 6c 79 20 71 75 65 72 79 69 directly queryi
1f30: 6e 67 20 61 20 3c 62 3e 50 6f 73 74 47 49 53 20 ng a <b>PostGIS
1f40: 54 61 62 6c 65 3c 2f 62 3e 20 28 69 2e 65 2e 20 Table</b> (i.e.
1f50: 61 20 56 69 72 74 75 61 6c 50 6f 73 74 67 72 65 a VirtualPostgre
1f60: 73 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 69 s Table containi
1f70: 6e 67 20 50 6f 73 74 47 49 53 20 47 65 6f 6d 65 ng PostGIS Geome
1f80: 74 72 69 65 73 29 20 6e 65 76 65 72 20 69 73 20 tries) never is
1f90: 61 20 67 6f 6f 64 20 69 64 65 61 2e 0d 0a 46 6f a good idea...Fo
1fa0: 72 20 72 65 61 73 6f 6e 73 20 65 78 70 6c 61 69 r reasons explai
1fb0: 6e 65 64 20 69 6e 20 3c 62 3e 34 2e 64 3c 2f 62 ned in <b>4.d</b
1fc0: 3e 2c 20 79 6f 75 27 6c 6c 20 62 65 20 61 6c 77 >, you'll be alw
1fd0: 61 79 73 20 61 73 6b 65 64 20 3c 62 3e 74 77 69 ays asked <b>twi
1fe0: 63 65 3c 2f 62 3e 20 62 65 66 6f 72 65 20 73 74 ce</b> before st
1ff0: 61 72 74 69 6e 67 20 73 75 63 68 20 61 6e 20 65 arting such an e
2000: 78 74 65 6e 73 69 76 65 20 28 61 6e 64 20 70 6f xtensive (and po
2010: 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e 67 65 72 tentially danger
2020: 6f 75 73 29 20 61 63 74 69 6f 6e 2e 3c 2f 74 64 ous) action.</td
2030: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
2040: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
2050: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
2060: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
2070: 67 75 69 31 37 2e 70 6e 67 22 20 61 6c 74 3d 22 gui17.png" alt="
2080: 64 69 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 direct postgis q
2090: 75 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 uery"></td>..</t
20a0: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
20b0: 3e 34 2e 64 3c 2f 62 3e 20 74 68 65 20 72 65 61 >4.d</b> the rea
20c0: 73 6f 6e 20 66 6f 72 20 73 75 63 68 20 61 20 62 son for such a b
20d0: 65 68 61 76 69 6f 75 72 20 69 73 20 63 6c 65 61 ehaviour is clea
20e0: 72 6c 79 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 rly shown in the
20f0: 20 73 69 64 65 20 66 69 67 75 72 65 2e 3c 62 72 side figure.<br
2100: 3e 0d 0a 41 20 56 69 72 74 75 61 6c 50 6f 73 74 >..A VirtualPost
2110: 67 72 65 73 20 54 61 62 6c 65 20 77 69 6c 6c 20 gres Table will
2120: 65 78 70 6f 73 65 20 61 6c 6c 20 47 65 6f 6d 65 expose all Geome
2130: 74 72 69 65 73 20 61 73 20 3c 62 3e 45 57 4b 42 tries as <b>EWKB
2140: 20 74 65 78 74 20 73 74 72 69 6e 67 73 3c 2f 62 text strings</b
2150: 3e 20 75 73 69 6e 67 20 61 6e 20 68 65 78 61 64 > using an hexad
2160: 65 63 69 6d 61 6c 20 6e 6f 74 61 74 69 6f 6e 3b ecimal notation;
2170: 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 in this case we
2180: 20 68 61 76 65 20 73 69 6d 70 6c 65 20 50 4f 49 have simple POI
2190: 4e 54 53 2c 20 61 6e 64 20 74 68 65 20 45 57 4b NTS, and the EWK
21a0: 42 20 73 74 72 69 6e 67 73 20 61 72 65 20 72 65 B strings are re
21b0: 61 73 6f 6e 61 62 6c 79 20 63 6f 6d 70 61 63 74 asonably compact
21c0: 2e 3c 62 72 3e 0d 0a 42 75 74 20 75 6e 68 61 70 .<br>..But unhap
21d0: 70 69 6c 79 20 63 6f 6d 70 6c 65 78 20 4c 49 4e pily complex LIN
21e0: 45 53 54 52 49 4e 47 20 6f 72 20 50 4f 4c 59 47 ESTRING or POLYG
21f0: 4f 4e 20 47 65 6f 6d 65 74 72 69 65 73 20 6d 61 ON Geometries ma
2200: 79 20 65 61 73 69 6c 79 20 72 65 71 75 69 72 65 y easily require
2210: 20 73 65 76 65 72 61 6c 20 6d 69 6c 6c 69 6f 6e several million
2220: 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 characters, and
2230: 20 74 68 69 73 20 77 69 6c 6c 20 65 61 73 69 6c this will easil
2240: 79 20 6f 76 65 72 20 73 74 72 65 73 73 20 74 68 y over stress th
2250: 65 20 47 55 49 2e 3c 62 72 3e 0d 0a 54 68 65 20 e GUI.<br>..The
2260: 65 78 65 63 75 74 69 6f 6e 20 73 70 65 65 64 20 execution speed
2270: 6f 66 20 73 75 63 68 20 61 20 71 75 65 72 79 20 of such a query
2280: 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79 20 62 will certainly b
2290: 65 20 3c 62 3e 76 65 72 79 3c 2f 62 3e 20 73 6c e <b>very</b> sl
22a0: 75 67 67 69 73 68 2c 20 61 6e 64 20 69 6e 73 74 uggish, and inst
22b0: 61 62 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 ability problems
22c0: 2c 20 63 61 75 73 65 64 20 62 79 20 65 78 63 65 , caused by exce
22d0: 73 73 69 76 65 20 6d 65 6d 6f 72 79 20 75 73 65 ssive memory use
22e0: 2c 20 63 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c , could eventual
22f0: 6c 79 20 61 72 69 73 65 2e 3c 62 72 3e 3c 62 72 ly arise.<br><br
2300: 3e 3c 62 72 3e 0d 0a 3c 62 3e 53 68 6f 72 74 20 ><br>..<b>Short
2310: 63 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e 3a 20 conclusion</b>:
2320: 6e 65 76 65 72 2c 20 65 76 65 72 2c 20 61 74 74 never, ever, att
2330: 65 6d 70 74 20 74 6f 20 64 69 72 65 63 74 6c 79 empt to directly
2340: 20 71 75 65 72 79 20 61 20 50 6f 73 74 47 49 53 query a PostGIS
2350: 20 54 61 62 6c 65 20 21 3c 2f 74 64 3e 0d 0a 3c Table !</td>..<
2360: 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 td><img src="htt
2370: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
2380: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 s.it/gaia-sins/g
2390: 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 31 ui-postgres/gui1
23a0: 35 2e 70 6e 67 22 20 61 6c 74 3d 22 64 69 72 65 5.png" alt="dire
23b0: 63 74 20 70 6f 73 74 67 69 73 20 71 75 65 72 79 ct postgis query
23c0: 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a "></td>..</tr>..
23d0: 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 65 <tr>..<td><b>4.e
23e0: 3c 2f 62 3e 20 54 6f 20 61 76 6f 69 64 20 74 68 </b> To avoid th
23f0: 69 73 20 70 72 6f 62 6c 65 6d 2c 20 61 20 63 6f is problem, a co
2400: 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69 61 6c 20 mpanion Spatial
2410: 56 69 65 77 20 65 78 69 73 74 73 20 66 6f 72 20 View exists for
2420: 65 76 65 72 79 20 50 6f 73 74 47 49 53 20 54 61 every PostGIS Ta
2430: 62 6c 65 2c 20 61 6e 64 20 69 73 20 73 70 65 63 ble, and is spec
2440: 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 ifically intende
2450: 64 20 74 6f 20 73 75 70 70 6f 72 74 20 73 61 66 d to support saf
2460: 65 20 61 6e 64 20 74 72 6f 75 62 6c 65 20 66 72 e and trouble fr
2470: 65 65 20 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d ee queries.<br>.
2480: 0a 41 6c 73 6f 20 74 68 65 20 63 6f 6d 70 61 6e .Also the compan
2490: 69 6f 6e 20 53 70 61 74 69 61 6c 20 56 69 65 77 ion Spatial View
24a0: 20 77 69 6c 6c 20 74 61 6b 65 20 63 61 72 65 20 will take care
24b0: 74 6f 20 73 69 6c 65 6e 74 6c 79 20 63 6f 6e 76 to silently conv
24c0: 65 72 74 20 62 69 6e 61 72 79 20 47 65 6f 6d 65 ert binary Geome
24d0: 74 72 69 65 73 20 74 6f 20 61 6e 64 20 66 72 6f tries to and fro
24e0: 6d 20 74 68 65 20 75 73 75 61 6c 20 53 70 61 74 m the usual Spat
24f0: 69 61 4c 69 74 65 27 73 20 6f 77 6e 20 66 6f 72 iaLite's own for
2500: 6d 61 74 2c 20 73 69 6d 70 6c 69 66 79 69 6e 67 mat, simplifying
2510: 20 74 68 65 20 77 72 69 74 69 6e 67 20 6f 66 20 the writing of
2520: 63 75 73 74 6f 6d 69 7a 65 64 20 53 51 4c 20 71 customized SQL q
2530: 75 65 72 69 65 73 20 75 73 69 6e 67 20 53 70 61 ueries using Spa
2540: 74 69 61 6c 20 46 75 6e 63 74 69 6f 6e 73 20 73 tial Functions s
2550: 69 6e 63 65 20 6e 6f 20 62 69 6e 61 72 79 20 63 ince no binary c
2560: 6f 6e 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 onversions of th
2570: 65 20 47 65 6f 6d 65 74 72 69 65 73 20 61 72 65 e Geometries are
2580: 20 6e 65 65 64 65 64 2e 3c 2f 74 64 3e 0d 0a 3c needed.</td>..<
2590: 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 td><img src="htt
25a0: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 ps://www.gaia-gi
25b0: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 s.it/gaia-sins/g
25c0: 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 31 ui-postgres/gui1
25d0: 36 2e 70 6e 67 22 20 61 6c 74 3d 22 69 6e 64 69 6.png" alt="indi
25e0: 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 75 65 rect postgis que
25f0: 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e ry"></td>..</tr>
2600: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 ..<tr>..<td><b>4
2610: 2e 66 3c 2f 62 3e 20 74 68 65 20 63 6f 6d 70 61 .f</b> the compa
2620: 6e 69 6f 6e 20 53 70 61 74 69 61 6c 20 56 69 65 nion Spatial Vie
2630: 77 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 w will always be
2640: 20 61 20 3c 62 3e 57 72 69 74 61 62 6c 65 20 56 a <b>Writable V
2650: 69 65 77 3c 2f 62 3e 20 77 68 65 6e 20 74 68 65 iew</b> when the
2660: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 50 corresponding P
2670: 6f 73 74 47 49 53 20 54 61 62 6c 65 20 69 73 20 ostGIS Table is
2680: 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 65 6e appropriately en
2690: 61 62 6c 65 64 20 61 6e 64 20 77 68 65 6e 20 74 abled and when t
26a0: 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 he connection su
26b0: 70 70 6f 72 74 73 20 52 45 41 44 2d 57 52 49 54 pports READ-WRIT
26c0: 45 20 6f 70 65 72 61 74 69 6f 6e 73 2e 3c 62 72 E operations.<br
26d0: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f ><br><br>..<b>No
26e0: 74 65 3c 2f 62 3e 3a 20 41 6c 6c 20 61 70 70 72 te</b>: All appr
26f0: 6f 70 72 69 61 74 65 20 54 72 69 67 67 65 72 73 opriate Triggers
2700: 20 28 73 75 70 70 6f 72 74 69 6e 67 20 3c 62 3e (supporting <b>
2710: 49 4e 53 45 52 54 3c 2f 62 3e 2c 20 3c 62 3e 55 INSERT</b>, <b>U
2720: 50 44 41 54 45 3c 2f 62 3e 20 61 6e 64 20 3c 62 PDATE</b> and <b
2730: 3e 44 45 4c 45 54 45 3c 2f 62 3e 20 6f 70 65 72 >DELETE</b> oper
2740: 61 74 69 6f 6e 73 29 2c 20 66 6f 72 20 61 20 57 ations), for a W
2750: 72 69 74 61 62 6c 65 20 53 70 61 74 69 61 6c 20 ritable Spatial
2760: 56 69 65 77 2c 20 77 69 6c 6c 20 62 65 20 61 75 View, will be au
2770: 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 tomatically crea
2780: 74 65 64 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c ted.</td>..<td><
2790: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
27a0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
27b0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 /gaia-sins/gui-p
27c0: 6f 73 74 67 72 65 73 2f 67 75 69 31 34 2e 70 6e ostgres/gui14.pn
27d0: 67 22 20 61 6c 74 3d 22 70 6f 73 74 67 69 73 20 g" alt="postgis
27e0: 65 64 69 74 69 6e 67 22 3e 3c 2f 74 64 3e 0d 0a editing"></td>..
27f0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 </tr>..<tr><td c
2800: 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e olspan="2" align
2810: 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 3c 61 ="center"><h3><a
2820: 20 6e 61 6d 65 3d 22 61 64 64 65 6e 64 75 6d 22 name="addendum"
2830: 3e 41 64 64 65 6e 64 75 6d 3c 2f 61 3e 3a 20 73 >Addendum</a>: s
2840: 70 65 63 69 61 6c 20 6e 6f 74 65 20 66 6f 72 20 pecial note for
2850: 57 69 6e 64 6f 77 73 20 75 73 65 72 73 3c 2f 68 Windows users</h
2860: 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 3><hr></td></tr>
2870: 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 ..<tr><td colspa
2880: 6e 20 3d 20 22 32 22 3e 0d 0a 41 6c 6c 20 70 72 n = "2">..All pr
2890: 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 20 evious versions
28a0: 6f 66 20 74 68 65 20 47 55 49 20 62 69 6e 61 72 of the GUI binar
28b0: 69 65 73 20 72 65 6c 65 61 73 65 64 20 69 6e 20 ies released in
28c0: 74 68 65 20 70 61 73 74 20 77 65 72 65 20 61 6c the past were al
28d0: 77 61 79 73 20 62 61 73 65 64 20 6f 6e 20 61 20 ways based on a
28e0: 73 69 6e 67 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 single monolithi
28f0: 63 20 3c 62 3e 2e 65 78 65 3c 2f 62 3e 20 66 75 c <b>.exe</b> fu
2900: 6c 6c 79 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e lly depending on
2910: 20 73 74 61 74 69 63 20 6c 69 6e 6b 61 67 65 20 static linkage
2920: 61 6e 64 20 6e 6f 74 20 72 65 71 75 69 72 69 6e and not requirin
2930: 67 20 61 6e 79 20 44 4c 4c 20 61 74 20 61 6c 6c g any DLL at all
2940: 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 55 6e 68 61 70 .<br><br>..Unhap
2950: 70 69 6c 79 20 74 68 69 73 20 69 73 20 6e 6f 20 pily this is no
2960: 6c 6f 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 2c longer possible,
2970: 20 73 69 6e 63 65 20 3c 62 3e 6c 69 62 70 71 3c since <b>libpq<
2980: 2f 62 3e 20 28 3c 69 3e 74 68 65 20 50 6f 73 74 /b> (<i>the Post
2990: 67 72 65 53 51 4c 20 6f 77 6e 20 63 6c 69 65 6e greSQL own clien
29a0: 74 20 6c 69 62 72 61 72 79 3c 2f 69 3e 29 20 69 t library</i>) i
29b0: 73 20 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 s only available
29c0: 20 61 73 20 61 20 44 4c 4c 20 6f 6e 20 57 69 6e as a DLL on Win
29d0: 64 6f 77 73 2c 20 61 6e 64 20 74 68 65 72 65 66 dows, and theref
29e0: 6f 72 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 ore cannot be us
29f0: 65 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 63 ed to create a c
2a00: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 61 orresponding sta
2a10: 74 69 63 20 6c 69 62 72 61 72 79 2e 3c 62 72 3e tic library.<br>
2a20: 0d 0a 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 ..More precisely
2a30: 3a 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 : a static libra
2a40: 72 79 20 69 73 20 61 63 74 75 61 6c 6c 79 20 62 ry is actually b
2a50: 75 69 6c 74 20 77 68 65 6e 20 63 6f 6d 70 69 6c uilt when compil
2a60: 69 6e 67 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 ing PostgreSQL,
2a70: 62 75 74 20 6f 6e 20 57 69 6e 64 6f 77 73 20 69 but on Windows i
2a80: 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20 73 74 t simply is a st
2a90: 75 62 20 73 74 69 6c 6c 20 72 65 71 75 69 72 69 ub still requiri
2aa0: 6e 67 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 44 ng to load the D
2ab0: 4c 4c 20 61 74 20 72 75 6e 20 74 69 6d 65 2e 3c LL at run time.<
2ac0: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 46 6f 72 br><br><br>..For
2ad0: 20 74 68 69 73 20 72 65 61 73 6f 6e 2c 20 3c 62 this reason, <b
2ae0: 3e 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 2e >spatialite_gui.
2af0: 65 78 65 3c 2f 62 3e 2c 20 77 68 69 63 68 20 6f exe</b>, which o
2b00: 74 68 65 72 77 69 73 65 20 64 65 70 65 6e 64 73 therwise depends
2b10: 20 6f 6e 20 61 20 73 74 61 74 69 63 20 6c 69 6e on a static lin
2b20: 6b 61 67 65 2c 20 6d 75 73 74 20 6d 61 6b 65 20 kage, must make
2b30: 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 66 6f 72 an exception for
2b40: 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 <b>libpq.dll</b
2b50: 3e 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 72 65 61 >.<br>..So a rea
2b60: 73 6f 6e 61 62 6c 65 20 63 6f 6d 70 72 6f 6d 69 sonable compromi
2b70: 73 65 20 68 61 73 20 62 65 65 6e 20 61 64 6f 70 se has been adop
2b80: 74 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 ted in order to
2b90: 6d 69 74 69 67 61 74 65 20 74 68 65 20 6e 65 67 mitigate the neg
2ba0: 61 74 69 76 65 20 69 6d 70 61 63 74 20 6f 66 20 ative impact of
2bb0: 73 75 63 68 20 61 6e 20 6f 64 64 20 6c 61 79 6f such an odd layo
2bc0: 75 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 ut:..<ul>..<li>t
2bd0: 68 65 20 62 69 6e 61 72 69 65 73 20 66 6f 72 20 he binaries for
2be0: 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d Windows platform
2bf0: 73 20 77 69 6c 6c 20 62 65 20 62 75 69 6c 74 20 s will be built
2c00: 69 6e 20 73 75 63 68 20 61 20 77 61 79 20 74 68 in such a way th
2c10: 61 74 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c at <b>libpq.dll<
2c20: 2f 62 3e 20 77 69 6c 6c 20 73 75 70 70 6f 72 74 /b> will support
2c30: 20 77 68 61 74 20 69 73 20 67 65 6e 65 72 61 6c what is general
2c40: 6c 79 20 6b 6e 6f 77 6e 20 61 73 20 3c 62 3e 6c ly known as <b>l
2c50: 61 74 65 20 62 69 6e 64 69 6e 67 3c 2f 62 3e 20 ate binding</b>
2c60: 61 6b 61 20 3c 62 3e 64 65 66 65 72 72 65 64 20 aka <b>deferred
2c70: 62 69 6e 64 69 6e 67 3c 2f 62 3e 2e 3c 2f 6c 69 binding</b>.</li
2c80: 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 77 61 79 2c >..<li>this way,
2c90: 20 74 68 65 20 6d 61 69 6e 20 63 6f 72 65 20 6f the main core o
2ca0: 66 20 74 68 65 20 47 55 49 20 20 77 69 6c 6c 20 f the GUI will
2cb0: 63 6f 6e 74 69 6e 75 65 20 74 6f 20 77 6f 72 6b continue to work
2cc0: 20 77 69 74 68 6f 75 74 20 6c 6f 61 64 69 6e 67 without loading
2cd0: 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 <b>libpq.dll</b
2ce0: 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e >.</li>..<li><b>
2cf0: 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 77 69 libpq.dll</b> wi
2d00: 6c 6c 20 62 65 20 6f 6e 6c 79 20 62 65 20 6c 6f ll be only be lo
2d10: 61 64 65 64 20 77 68 65 6e 20 6e 65 65 64 65 64 aded when needed
2d20: 20 28 69 2e 65 2e 20 77 68 65 6e 20 74 68 65 20 (i.e. when the
2d30: 75 73 65 72 20 72 65 71 75 65 73 74 73 20 61 20 user requests a
2d40: 50 6f 73 74 67 72 65 53 51 4c 20 63 6f 6e 6e 65 PostgreSQL conne
2d50: 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c ction).</li>..<l
2d60: 69 3e 69 66 20 74 68 65 20 44 4c 4c 20 66 61 69 i>if the DLL fai
2d70: 6c 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 ls to be loaded
2d80: 66 6f 72 20 61 6e 79 20 72 65 61 73 6f 6e 2c 20 for any reason,
2d90: 74 68 65 20 50 6f 73 74 67 72 65 53 51 4c 20 73 the PostgreSQL s
2da0: 75 70 70 6f 72 74 20 77 69 6c 6c 20 72 65 6d 61 upport will rema
2db0: 69 6e 20 64 69 73 61 62 6c 65 64 20 61 6e 64 20 in disabled and
2dc0: 74 68 65 20 47 55 49 20 77 69 6c 6c 20 63 6f 6e the GUI will con
2dd0: 74 69 6e 75 65 20 75 6e 61 66 66 65 63 74 65 64 tinue unaffected
2de0: 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c .</li>..</ul>..<
2df0: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c /td></tr>..<tr><
2e00: 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20 61 td colspan="2" a
2e10: 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 lign="center"><h
2e20: 33 3e 48 6f 77 20 74 6f 20 6c 6f 61 64 20 4c 69 3>How to load Li
2e30: 62 50 47 2c 20 77 68 65 6e 20 69 74 20 68 61 73 bPG, when it has
2e40: 20 6e 6f 74 20 62 65 65 6e 20 61 75 74 6f 6d 61 not been automa
2e50: 74 69 63 61 6c 6c 79 20 66 6f 75 6e 64 3c 2f 68 tically found</h
2e60: 33 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3</td></tr>..<tr
2e70: 3e 0d 0a 3c 74 64 3e 3c 62 3e 41 2e 31 3c 2f 62 >..<td><b>A.1</b
2e80: 3e 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f > <b>libpq.dll</
2e90: 62 3e 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 b> will be loade
2ea0: 64 20 77 68 65 6e 20 61 63 63 65 73 73 69 6e 67 d when accessing
2eb0: 20 61 20 50 6f 73 74 67 72 65 53 51 4c 20 66 6f a PostgreSQL fo
2ec0: 72 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 r the first time
2ed0: 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 61 6e 20 :..<ul>..<li>an
2ee0: 61 75 74 6f 6d 61 74 69 63 20 61 74 74 65 6d 70 automatic attemp
2ef0: 74 20 77 69 6c 6c 20 62 65 20 70 65 72 66 6f 72 t will be perfor
2f00: 6d 65 64 20 61 63 63 6f 72 64 69 6e 67 6c 79 20 med accordingly
2f10: 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 to the standard
2f20: 70 6c 61 74 66 6f 72 6d 20 72 75 6c 65 73 20 28 platform rules (
2f30: 6d 6f 73 74 6c 79 3a 20 73 65 61 72 63 68 20 70 mostly: search p
2f40: 61 74 68 73 29 2e 3c 62 72 3e 0d 0a 3c 62 3e 48 aths).<br>..<b>H
2f50: 69 6e 74 3c 2f 62 3e 3a 20 6f 6e 20 57 69 6e 64 int</b>: on Wind
2f60: 6f 77 73 2c 20 70 6c 61 63 69 6e 67 20 74 68 65 ows, placing the
2f70: 20 44 4c 4c 20 69 6e 20 74 68 65 20 73 61 6d 65 DLL in the same
2f80: 20 66 6f 6c 64 65 72 20 61 73 20 74 68 65 20 47 folder as the G
2f90: 55 49 20 65 78 65 63 75 74 61 62 6c 65 2c 20 73 UI executable, s
2fa0: 69 6d 70 6c 69 66 79 73 20 6d 61 74 74 65 72 73 implifys matters
2fb0: 20 6e 69 63 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c 6c nicly.</li>..<l
2fc0: 69 3e 69 66 20 3c 62 3e 6c 69 62 70 71 2e 64 6c i>if <b>libpq.dl
2fd0: 6c 3c 2f 62 3e 20 63 61 6e 6e 6f 74 20 62 65 20 l</b> cannot be
2fe0: 66 6f 75 6e 64 2c 20 74 68 65 6e 20 74 68 65 20 found, then the
2ff0: 75 73 65 72 20 69 73 20 61 73 6b 65 64 20 74 6f user is asked to
3000: 20 6d 61 6e 75 61 6c 6c 79 20 6c 6f 61 64 69 6e manually loadin
3010: 67 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f g <b>libpq.dll</
3020: 62 3e 2c 20 61 73 20 73 68 6f 77 6e 20 62 79 20 b>, as shown by
3030: 74 68 65 20 73 69 64 65 20 66 69 67 75 72 65 2e the side figure.
3040: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 </li>..</ul></td
3050: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d >..<td><img src=
3060: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 "https://www.gai
3070: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 a-gis.it/gaia-si
3080: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f ns/gui-postgres/
3090: 6c 69 62 70 71 2d 64 65 66 65 72 72 65 64 31 2e libpq-deferred1.
30a0: 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 20 png" alt="libpq
30b0: 6e 6f 74 20 66 6f 75 6e 64 22 3e 3c 2f 74 64 3e not found"></td>
30c0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
30d0: 74 64 3e 3c 62 3e 41 2e 32 3c 2f 62 3e 20 74 68 td><b>A.2</b> th
30e0: 65 20 73 74 61 6e 64 61 72 64 20 46 69 6c 65 20 e standard File
30f0: 53 65 6c 65 63 74 69 6f 6e 20 64 69 61 6c 6f 67 Selection dialog
3100: 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 can be used to
3110: 6c 6f 63 61 74 65 20 61 6e 64 20 6f 70 65 6e 20 locate and open
3120: 74 68 65 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c the <b>libpq.dll
3130: 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 </b>.<br><br><br
3140: 3e 0d 0a 3c 62 3e 57 61 72 6e 69 6e 67 3c 2f 62 >..<b>Warning</b
3150: 3e 3a 20 61 20 63 6f 6d 6d 6f 6e 20 70 69 74 66 >: a common pitf
3160: 61 6c 6c 20 69 73 20 61 74 74 65 6d 70 74 69 6e all is attemptin
3170: 67 20 74 6f 20 6c 6f 61 64 20 61 20 33 32 2f 36 g to load a 32/6
3180: 34 20 62 69 74 20 44 4c 4c 20 74 6f 20 61 20 36 4 bit DLL to a 6
3190: 34 2f 33 32 20 62 69 74 20 47 55 49 2e 3c 62 72 4/32 bit GUI.<br
31a0: 3e 0d 0a 54 68 65 20 63 6f 64 65 20 6d 6f 64 65 >..The code mode
31b0: 6c 20 28 33 32 2f 36 34 20 62 69 74 29 20 6f 66 l (32/64 bit) of
31c0: 20 62 6f 74 68 20 74 68 65 20 65 78 65 63 75 74 both the execut
31d0: 61 62 6c 65 20 61 6e 64 20 74 68 65 20 44 4c 4c able and the DLL
31e0: 20 6d 75 73 74 20 74 68 65 20 73 61 6d 65 2e 3c must the same.<
31f0: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
3200: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
3210: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
3220: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
3230: 65 73 2f 6c 69 62 70 71 2d 64 65 66 65 72 72 65 es/libpq-deferre
3240: 64 32 2e 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62 d2.png" alt="lib
3250: 70 71 20 6f 70 65 6e 22 3e 3c 2f 74 64 3e 0d 0a pq open"></td>..
3260: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
3270: 3e 3c 62 3e 41 2e 33 3c 2f 62 3e 20 69 66 20 3c ><b>A.3</b> if <
3280: 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 b>libpq.dll</b>
3290: 68 61 73 20 62 65 65 6e 20 73 75 63 63 65 73 73 has been success
32a0: 66 75 6c 6c 79 20 6c 6f 61 64 65 64 20 61 20 63 fully loaded a c
32b0: 6f 6e 66 69 72 6d 61 74 69 6f 6e 20 6d 65 73 73 onfirmation mess
32c0: 61 67 65 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 age will be show
32d0: 6e 2c 20 77 69 74 68 20 74 68 65 20 61 73 73 6f n, with the asso
32e0: 63 69 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 ciation between
32f0: 74 68 65 20 47 55 49 20 61 6e 64 20 74 68 65 20 the GUI and the
3300: 44 4c 4c 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 DLL permanently
3310: 72 65 67 69 73 74 65 72 65 64 2e 3c 62 72 3e 0d registered.<br>.
3320: 0a 4f 6e 63 65 20 73 75 63 63 65 73 73 66 75 6c .Once successful
3330: 6c 79 20 6c 6f 61 64 65 64 2c 20 61 6c 6c 20 74 ly loaded, all t
3340: 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 73 he following ses
3350: 73 69 6f 6e 73 20 77 69 6c 6c 20 75 73 65 20 74 sions will use t
3360: 68 69 73 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 his association
3370: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2c 20 6d automatically, m
3380: 61 6b 69 6e 67 20 74 68 69 73 20 61 20 6f 6e 65 aking this a one
3390: 20 74 69 6d 65 20 65 66 66 6f 72 74 2e 3c 2f 74 time effort.</t
33a0: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 d>..<td><img src
33b0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
33c0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
33d0: 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 ins/gui-postgres
33e0: 2f 6c 69 62 70 71 2d 64 65 66 65 72 72 65 64 33 /libpq-deferred3
33f0: 2e 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 .png" alt="libpq
3400: 20 6c 6f 61 64 65 64 22 3e 3c 2f 74 64 3e 0d 0a loaded"></td>..
3410: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d </tr>..</table>.
3420: 0a 0d 0a 0d 0a 42 61 63 6b 20 74 6f 20 3c 61 20 .....Back to <a
3430: 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 href="https://ww
3440: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f w.gaia-gis.it/fo
3450: 73 73 69 6c 2f 73 70 61 74 69 61 6c 69 74 65 5f ssil/spatialite_
3460: 67 75 69 2f 77 69 6b 69 3f 6e 61 6d 65 3d 73 70 gui/wiki?name=sp
3470: 61 74 69 61 6c 69 74 65 2d 67 75 69 22 3e 6d 61 atialite-gui">ma
3480: 69 6e 20 57 69 6b 69 20 70 61 67 65 3c 2f 61 3e in Wiki page</a>
3490: 0a 5a 20 35 39 64 33 38 61 66 31 39 34 64 37 38 .Z 59d38af194d78
34a0: 33 39 31 33 34 35 33 62 66 62 30 37 65 61 34 62 3913453bfb07ea4b
34b0: 64 34 32 0a d42.