Wiki page
[PostgreSQL] by
sandro
2018-08-06 11:06:36.
0000: 44 20 32 30 31 38 2d 30 38 2d 30 36 54 31 31 3a D 2018-08-06T11:
0010: 30 36 3a 33 36 2e 30 36 35 0a 4c 20 50 6f 73 74 06:36.065.L Post
0020: 67 72 65 53 51 4c 0a 50 20 63 37 34 33 35 61 37 greSQL.P c7435a7
0030: 31 36 36 64 37 65 63 30 39 61 62 61 32 64 63 39 166d7ec09aba2dc9
0040: 37 37 31 32 32 32 66 62 32 31 34 32 32 66 39 30 771222fb21422f90
0050: 64 0a 55 20 73 61 6e 64 72 6f 0a 57 20 31 33 33 d.U sandro.W 133
0060: 35 35 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72 55.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 68 61 73 g connection has
0e80: 20 62 65 65 6e 20 63 6c 6f 73 65 64 2c 20 6f 72 been closed, or
0e90: 20 77 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e when the curren
0ea0: 74 20 73 65 73 73 69 6f 6e 20 65 6e 64 73 2e 3c t session ends.<
0eb0: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
0ec0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
0ed0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
0ee0: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
0ef0: 65 73 2f 67 75 69 35 2e 70 6e 67 22 20 61 6c 74 es/gui5.png" alt
0f00: 3d 22 74 61 62 6c 65 20 74 72 65 65 22 3e 3c 2f ="table tree"></
0f10: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
0f20: 0d 0a 3c 74 64 3e 3c 62 3e 32 2e 62 3c 2f 62 3e ..<td><b>2.b</b>
0f30: 20 69 66 2c 20 66 6f 72 20 61 6e 79 20 70 6f 73 if, for any pos
0f40: 73 69 62 6c 65 20 72 65 61 73 6f 6e 20 28 73 75 sible reason (su
0f50: 63 68 20 61 73 20 6f 6e 3a 20 61 20 73 79 73 74 ch as on: a syst
0f60: 65 6d 20 63 72 61 73 68 2c 20 70 6f 77 65 72 20 em crash, power
0f70: 66 61 69 6c 75 72 65 2c 20 65 74 63 2e 29 2c 20 failure, etc.),
0f80: 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 73 73 the current sess
0f90: 69 6f 6e 20 66 61 69 6c 73 20 74 6f 20 63 6f 72 ion fails to cor
0fa0: 72 65 63 74 6c 79 20 70 65 72 66 6f 72 6d 20 74 rectly perform t
0fb0: 68 65 20 65 78 70 65 63 74 65 64 20 66 69 6e 61 he expected fina
0fc0: 6c 20 63 6c 65 61 6e 75 70 2c 20 79 6f 75 72 20 l cleanup, your
0fd0: 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20 SQLite database
0fe0: 77 69 6c 6c 20 72 65 6d 61 69 6e 20 69 6e 20 61 will remain in a
0ff0: 20 64 69 72 74 79 20 61 6e 64 20 69 6e 63 6f 6e dirty and incon
1000: 73 69 73 74 65 6e 74 20 73 74 61 74 65 2e 3c 62 sistent state.<b
1010: 72 3e 0d 0a 41 73 20 74 68 65 20 73 69 64 65 20 r>..As the side
1020: 66 69 67 75 72 65 20 73 68 6f 77 73 2c 20 77 68 figure shows, wh
1030: 65 6e 20 72 65 73 74 61 72 74 69 6e 67 20 61 20 en restarting a
1040: 6e 65 77 20 73 65 73 73 69 6f 6e 20 61 6c 6c 20 new session all
1050: 3c 62 3e 6f 72 70 68 61 6e 65 64 20 56 69 72 74 <b>orphaned Virt
1060: 75 61 6c 50 6f 73 74 67 72 65 73 20 74 61 62 6c ualPostgres tabl
1070: 65 73 3c 2f 62 3e 2c 20 66 72 6f 6d 20 61 6e 79 es</b>, from any
1080: 20 61 62 6f 72 74 65 64 20 73 65 73 73 69 6f 6e aborted session
1090: 28 73 29 2c 20 63 61 6e 20 73 74 69 6c 6c 20 62 (s), can still b
10a0: 65 20 73 65 65 6e 2e 3c 62 72 3e 3c 62 72 3e 0d e seen.<br><br>.
10b0: 0a 49 66 20 74 68 69 73 20 68 61 70 70 65 6e 73 .If this happens
10c0: 2c 20 64 6f 6e 27 74 20 64 65 73 70 61 69 72 3a , don't despair:
10d0: 20 61 6c 6c 20 79 6f 75 20 6e 65 65 64 20 74 6f all you need to
10e0: 20 64 6f 20 69 73 20 74 6f 20 73 65 6c 65 63 74 do is to select
10f0: 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 the appropriate
1100: 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 50 item from the P
1110: 6f 73 74 67 72 65 73 20 63 6f 6e 74 65 78 74 20 ostgres context
1120: 6d 65 6e 75 20 61 6e 64 20 74 68 65 20 44 42 20 menu and the DB
1130: 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 69 61 74 will be immediat
1140: 65 6c 79 20 62 65 20 63 6f 6e 76 65 72 74 65 64 ely be converted
1150: 20 69 6e 74 6f 20 61 20 73 61 66 65 2c 20 63 6f into a safe, co
1160: 6e 73 69 73 74 65 6e 74 20 61 6e 64 20 63 6c 65 nsistent and cle
1170: 61 6e 20 73 74 61 74 65 2e 3c 2f 74 64 3e 0d 0a an state.</td>..
1180: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 <td><img src="ht
1190: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
11a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
11b0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6f 72 70 gui-postgres/orp
11c0: 68 61 6e 73 2e 70 6e 67 22 20 61 6c 74 3d 22 6f hans.png" alt="o
11d0: 72 70 68 61 6e 20 74 61 62 6c 65 73 22 3e 3c 2f rphan tables"></
11e0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e td>..</tr>..<tr>
11f0: 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20 <td colspan="2"
1200: 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c align="center"><
1210: 68 33 3e 33 20 2d 20 4d 65 74 61 64 61 74 61 20 h3>3 - Metadata
1220: 6f 66 20 50 6f 73 74 67 72 65 53 51 4c 20 6f 62 of PostgreSQL ob
1230: 6a 65 63 74 73 3c 2f 68 33 3e 3c 68 72 3e 3c 2f jects</h3><hr></
1240: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a td></tr>..<tr>..
1250: 3c 74 64 3e 3c 62 3e 33 2e 61 3c 2f 62 3e 20 79 <td><b>3.a</b> y
1260: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 71 75 ou can easily qu
1270: 65 72 79 20 74 68 65 20 6d 65 74 61 64 61 74 61 ery the metadata
1280: 20 66 6f 72 20 65 61 63 68 20 50 6f 73 74 67 72 for each Postgr
1290: 65 73 20 6f 62 6a 65 63 74 3b 20 6a 75 73 74 20 es object; just
12a0: 73 65 6c 65 63 74 20 74 68 65 20 61 70 70 72 6f select the appro
12b0: 70 72 69 61 74 65 20 69 74 65 6d 20 66 72 6f 6d priate item from
12c0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6d 65 6e the context men
12d0: 75 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d u.</td>..<td><im
12e0: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 g src="https://w
12f0: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 ww.gaia-gis.it/g
1300: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 aia-sins/gui-pos
1310: 74 67 72 65 73 2f 67 75 69 36 2e 70 6e 67 22 20 tgres/gui6.png"
1320: 61 6c 74 3d 22 6d 65 74 61 64 61 74 61 20 69 6e alt="metadata in
1330: 66 6f 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e fo"></td>..</tr>
1340: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 33 ..<tr>..<td><b>3
1350: 2e 62 3c 2f 62 3e 20 4d 65 74 61 64 61 74 61 20 .b</b> Metadata
1360: 66 6f 72 20 61 20 3c 62 3e 43 6f 6e 6e 65 63 74 for a <b>Connect
1370: 69 6f 6e 3c 2f 62 3e 20 3c 69 3e 61 6b 61 3c 2f ion</b> <i>aka</
1380: 69 3e 20 3c 62 3e 44 61 74 61 62 61 73 65 3c 2f i> <b>Database</
1390: 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 72 b> object will r
13a0: 65 70 6f 72 74 20 74 68 65 20 69 6e 69 74 69 61 eport the initia
13b0: 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72 67 l connection arg
13c0: 75 6d 65 6e 74 73 2e 3c 62 72 3e 3c 62 72 3e 3c uments.<br><br><
13d0: 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e 3c br>..<hr>..<br><
13e0: 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e br>..<b>Note</b>
13f0: 3a 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 : you can always
1400: 20 63 6f 6e 6e 65 63 74 20 6d 6f 72 65 20 74 68 connect more th
1410: 61 6e 20 6f 6e 65 20 50 6f 73 74 67 72 65 73 20 an one Postgres
1420: 44 61 74 61 62 61 73 65 20 69 6e 20 74 68 65 20 Database in the
1430: 73 61 6d 65 20 73 65 73 73 69 6f 6e 3b 20 68 6f same session; ho
1440: 77 65 76 65 72 20 63 6f 6e 6e 65 63 74 69 6e 67 wever connecting
1450: 20 74 68 65 20 73 61 6d 65 20 44 61 74 61 62 61 the same Databa
1460: 73 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 se more than onc
1470: 65 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74 e is not permitt
1480: 65 64 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 ed.</td>..<td><i
1490: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f mg src="https://
14a0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f www.gaia-gis.it/
14b0: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f gaia-sins/gui-po
14c0: 73 74 67 72 65 73 2f 67 75 69 37 2e 70 6e 67 22 stgres/gui7.png"
14d0: 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e alt="connection
14e0: 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e metadata"></td>
14f0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
1500: 74 64 3e 3c 62 3e 33 2e 63 3c 2f 62 3e 20 4d 65 td><b>3.c</b> Me
1510: 74 61 64 61 74 61 20 66 6f 72 20 61 20 3c 62 3e tadata for a <b>
1520: 53 63 68 65 6d 61 3c 2f 62 3e 20 6f 62 6a 65 63 Schema</b> objec
1530: 74 20 61 72 65 6e 27 74 20 72 65 61 6c 6c 79 20 t aren't really
1540: 76 65 72 79 20 69 6e 74 65 72 65 73 74 69 6e 67 very interesting
1550: 2c 20 73 69 6e 63 65 20 6f 6e 6c 79 20 74 68 65 , since only the
1560: 20 6e 61 6d 65 20 77 69 6c 6c 20 62 65 20 73 68 name will be sh
1570: 6f 77 6e 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c own.</td>..<td><
1580: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
1590: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
15a0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 /gaia-sins/gui-p
15b0: 6f 73 74 67 72 65 73 2f 67 75 69 38 2e 70 6e 67 ostgres/gui8.png
15c0: 22 20 61 6c 74 3d 22 73 63 68 65 6d 61 20 6d 65 " alt="schema me
15d0: 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c tadata"></td>..<
15e0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e /tr>..<tr>..<td>
15f0: 3c 62 3e 33 2e 64 3c 2f 62 3e 20 4d 65 74 61 64 <b>3.d</b> Metad
1600: 61 74 61 20 66 6f 72 20 3c 62 3e 54 61 62 6c 65 ata for <b>Table
1610: 3c 2f 62 3e 20 6f 72 20 3c 62 3e 56 69 65 77 3c </b> or <b>View<
1620: 2f 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 /b> object will
1630: 72 65 70 6f 72 74 20 61 6c 6c 20 3c 62 3e 47 52 report all <b>GR
1640: 41 4e 54 20 70 65 72 6d 69 73 73 69 6f 6e 73 3c ANT permissions<
1650: 2f 62 3e 20 66 6f 72 20 74 68 65 20 63 75 72 72 /b> for the curr
1660: 65 6e 74 20 55 73 65 72 2e 3c 62 72 3e 3c 62 72 ent User.<br><br
1670: 3e 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 ><br>..<hr>..<br
1680: 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f ><br>..<b>Note</
1690: 62 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 65 20 b>: also in the
16a0: 63 61 73 65 20 6f 66 20 61 20 3c 62 3e 52 45 41 case of a <b>REA
16b0: 44 2d 57 52 49 54 45 3c 2f 62 3e 20 65 6e 61 62 D-WRITE</b> enab
16c0: 6c 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 led connection,
16d0: 61 6c 6c 20 50 6f 73 74 67 72 65 73 20 54 61 62 all Postgres Tab
16e0: 6c 65 73 20 6c 61 63 6b 69 6e 67 20 74 68 65 20 les lacking the
16f0: 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 65 78 permission to ex
1700: 65 63 75 74 65 20 3c 62 3e 49 4e 53 45 52 54 3c ecute <b>INSERT<
1710: 2f 62 3e 2c 20 3c 62 3e 55 50 44 41 54 45 3c 2f /b>, <b>UPDATE</
1720: 62 3e 20 6f 72 20 3c 62 3e 44 45 4c 45 54 45 3c b> or <b>DELETE<
1730: 2f 62 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 77 /b> statements w
1740: 69 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 ill be treated a
1750: 73 20 3c 62 3e 52 45 41 44 2d 4f 4e 4c 59 3c 2f s <b>READ-ONLY</
1760: 62 3e 20 54 61 62 6c 65 73 2e 3c 62 72 3e 0d 0a b> Tables.<br>..
1770: 54 68 65 20 73 61 6d 65 20 69 73 20 74 72 75 65 The same is true
1780: 20 66 6f 72 20 54 61 62 6c 65 73 20 77 68 65 72 for Tables wher
1790: 65 20 6e 6f 20 3c 62 3e 50 52 49 4d 41 52 59 20 e no <b>PRIMARY
17a0: 4b 45 59 3c 2f 62 3e 20 68 61 73 20 62 65 65 6e KEY</b> has been
17b0: 20 64 65 66 69 6e 65 64 2e 3c 2f 74 64 3e 0d 0a defined.</td>..
17c0: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 <td><img src="ht
17d0: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 tps://www.gaia-g
17e0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f is.it/gaia-sins/
17f0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 gui-postgres/gui
1800: 39 2e 70 6e 67 22 20 61 6c 74 3d 22 74 61 62 6c 9.png" alt="tabl
1810: 65 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 e metadata"></td
1820: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a >..</tr>..<tr>..
1830: 3c 74 64 3e 3c 62 3e 33 2e 65 3c 2f 62 3e 20 4d <td><b>3.e</b> M
1840: 65 74 61 64 61 74 61 20 66 6f 72 20 61 20 3c 62 etadata for a <b
1850: 3e 50 6f 73 74 47 49 53 20 54 61 62 6c 65 3c 2f >PostGIS Table</
1860: 62 3e 20 6f 62 6a 65 63 74 73 20 73 68 6f 77 20 b> objects show
1870: 61 6c 6c 20 73 65 74 74 69 6e 67 73 20 6f 66 20 all settings of
1880: 74 68 65 20 3c 62 3e 47 45 4f 4d 45 54 52 59 3c the <b>GEOMETRY<
1890: 2f 62 3e 20 63 6f 6c 75 6d 6e 28 73 29 2c 20 69 /b> column(s), i
18a0: 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 47 65 6f ncluding the Geo
18b0: 6d 65 74 72 79 54 79 70 65 2c 20 74 68 65 20 53 metryType, the S
18c0: 72 69 64 20 61 6e 64 20 74 68 65 20 43 6f 6f 72 rid and the Coor
18d0: 64 69 6e 61 74 65 44 69 6d 65 6e 73 69 6f 6e 2e dinateDimension.
18e0: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 </td>..<td><img
18f0: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 src="https://www
1900: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 .gaia-gis.it/gai
1910: 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 a-sins/gui-postg
1920: 72 65 73 2f 67 75 69 31 30 2e 70 6e 67 22 20 61 res/gui10.png" a
1930: 6c 74 3d 22 70 6f 73 74 67 69 73 20 6d 65 74 61 lt="postgis meta
1940: 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 data"></td>..</t
1950: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
1960: 3e 33 2e 66 3c 2f 62 3e 20 61 6c 6c 20 3c 62 3e >3.f</b> all <b>
1970: 50 6f 73 74 47 49 53 20 54 61 62 6c 65 73 3c 2f PostGIS Tables</
1980: 62 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 b> will always h
1990: 61 76 65 20 61 20 3c 62 3e 63 6f 6d 70 61 6e 69 ave a <b>compani
19a0: 6f 6e 20 54 61 62 6c 65 3c 2f 62 3e 20 73 68 61 on Table</b> sha
19b0: 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 64 ring the same id
19c0: 65 6e 74 69 63 61 6c 20 6e 61 6d 65 2c 20 62 75 entical name, bu
19d0: 74 20 77 69 74 68 20 61 6e 20 61 64 64 65 64 20 t with an added
19e0: 27 3c 62 3e 5f 70 6f 73 74 67 69 73 3c 2f 62 3e '<b>_postgis</b>
19f0: 27 20 73 75 66 66 69 78 2e 3c 62 72 3e 3c 62 72 ' suffix.<br><br
1a00: 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f ><br>..<b>Note</
1a10: 62 3e 3a 20 74 68 65 73 65 20 61 72 65 20 6e 6f b>: these are no
1a20: 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c t the original <
1a30: 62 3e 56 69 72 74 75 61 6c 50 6f 73 74 67 72 65 b>VirtualPostgre
1a40: 73 20 54 61 62 6c 65 73 3c 2f 62 3e 20 77 68 69 s Tables</b> whi
1a50: 63 68 20 73 74 6f 72 65 20 74 68 65 20 47 65 6f ch store the Geo
1a60: 6d 65 74 72 69 65 73 20 69 6e 20 74 68 65 20 6f metries in the o
1a70: 72 69 67 69 6e 61 6c 20 50 6f 73 74 67 72 65 73 riginal Postgres
1a80: 20 62 69 6e 61 72 79 20 66 6f 72 6d 61 74 2c 20 binary format,
1a90: 62 75 74 20 61 72 65 20 69 6e 73 74 65 61 64 20 but are instead
1aa0: 53 70 61 74 69 61 6c 69 74 65 27 73 20 6f 77 6e Spatialite's own
1ab0: 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65 77 <b>Spatial View
1ac0: 73 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 s</b> containing
1ad0: 20 47 65 6f 6d 65 74 72 69 65 73 20 63 6f 6e 76 Geometries conv
1ae0: 65 72 74 65 64 20 74 6f 20 74 68 65 20 53 70 61 erted to the Spa
1af0: 74 69 61 6c 69 74 65 20 62 69 6e 61 72 79 20 66 tialite binary f
1b00: 6f 72 6d 61 74 2e 20 54 68 65 20 63 6f 6e 76 65 ormat. The conve
1b10: 72 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 rsion between th
1b20: 65 20 74 77 6f 20 66 6f 72 6d 61 74 73 20 61 72 e two formats ar
1b30: 65 20 64 6f 6e 65 20 69 6e 20 74 68 65 20 62 61 e done in the ba
1b40: 63 6b 67 72 6f 75 6e 64 20 61 6e 64 20 74 68 75 ckground and thu
1b50: 73 2c 20 66 6f 72 20 74 68 65 20 75 73 65 72 2c s, for the user,
1b60: 20 69 6e 20 61 20 63 6f 6d 70 6c 65 61 74 6c 79 in a compleatly
1b70: 20 74 72 61 6e 73 70 61 72 65 6e 74 20 77 61 79 transparent way
1b80: 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 .</td>..<td><img
1b90: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 src="https://ww
1ba0: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 w.gaia-gis.it/ga
1bb0: 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 ia-sins/gui-post
1bc0: 67 72 65 73 2f 67 75 69 31 31 2e 70 6e 67 22 20 gres/gui11.png"
1bd0: 61 6c 74 3d 22 70 6f 73 74 67 69 73 20 77 72 61 alt="postgis wra
1be0: 70 70 65 72 20 6d 65 74 61 64 61 74 61 22 3e 3c pper metadata"><
1bf0: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 /td>..</tr>..<tr
1c00: 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 ><td colspan="2"
1c10: 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e align="center">
1c20: 3c 68 33 3e 34 20 2d 20 48 61 6e 64 6c 69 6e 67 <h3>4 - Handling
1c30: 20 50 6f 73 74 67 72 65 53 51 4c 20 54 61 62 6c PostgreSQL Tabl
1c40: 65 73 20 61 6e 64 20 56 69 65 77 73 3c 2f 68 33 es and Views</h3
1c50: 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d ><hr></td></tr>.
1c60: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e .<tr>..<td><b>4.
1c70: 61 3c 2f 62 3e 20 50 6f 73 74 67 72 65 53 51 4c a</b> PostgreSQL
1c80: 20 54 61 62 6c 65 73 20 61 6e 64 20 56 69 65 77 Tables and View
1c90: 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 s are considered
1ca0: 2c 20 61 73 20 66 61 72 20 61 73 20 70 6f 73 73 , as far as poss
1cb0: 69 62 6c 65 2c 20 61 73 20 69 66 20 74 68 65 79 ible, as if they
1cc0: 20 77 65 72 65 20 6e 61 74 69 76 65 20 53 51 4c were native SQL
1cd0: 69 74 65 20 6f 62 6a 65 63 74 73 2e 3c 62 72 3e ite objects.<br>
1ce0: 0d 0a 53 6f 20 74 68 65 20 75 73 75 61 6c 20 6f ..So the usual o
1cf0: 70 65 72 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 perations suppor
1d00: 74 65 64 20 6f 6e 20 53 51 4c 69 74 65 27 73 20 ted on SQLite's
1d10: 6f 77 6e 20 6f 62 6a 65 63 74 73 20 77 69 6c 6c own objects will
1d20: 20 62 65 20 73 75 70 70 6f 72 74 65 64 20 61 6c be supported al
1d30: 73 6f 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f so in the case o
1d40: 66 20 50 6f 73 74 67 72 65 53 51 4c 20 6f 62 6a f PostgreSQL obj
1d50: 65 63 74 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e ects.</td>..<td>
1d60: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a <img src="https:
1d70: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 //www.gaia-gis.i
1d80: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d t/gaia-sins/gui-
1d90: 70 6f 73 74 67 72 65 73 2f 67 75 69 31 32 2e 70 postgres/gui12.p
1da0: 6e 67 22 20 61 6c 74 3d 22 74 61 62 6c 65 20 6f ng" alt="table o
1db0: 70 65 72 61 74 69 6f 6e 73 22 3e 3c 2f 74 64 3e perations"></td>
1dc0: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c ..</tr>..<tr>..<
1dd0: 74 64 3e 3c 62 3e 34 2e 62 3c 2f 62 3e 20 74 68 td><b>4.b</b> th
1de0: 65 20 61 62 6f 76 65 20 63 72 69 74 65 72 69 61 e above criteria
1df0: 20 77 69 6c 6c 20 61 70 70 6c 79 20 61 6c 73 6f will apply also
1e00: 20 74 6f 20 50 6f 73 74 47 49 53 20 47 65 6f 6d to PostGIS Geom
1e10: 65 74 72 69 65 73 2e 3c 62 72 3e 3c 62 72 3e 3c etries.<br><br><
1e20: 62 72 3e 0d 0a 3c 62 3e 48 69 6e 74 3c 2f 62 3e br>..<b>Hint</b>
1e30: 3a 20 65 78 70 6f 72 74 69 6e 67 20 61 20 66 75 : exporting a fu
1e40: 6c 6c 20 53 68 61 70 65 66 69 6c 65 20 66 72 6f ll Shapefile fro
1e50: 6d 20 61 20 50 6f 73 74 47 49 53 20 54 61 62 6c m a PostGIS Tabl
1e60: 65 20 77 61 73 20 6e 65 76 65 72 20 6d 6f 72 65 e was never more
1e70: 20 64 69 72 65 63 74 20 61 6e 64 20 73 69 6d 70 direct and simp
1e80: 6c 65 20 74 68 61 6e 20 74 68 69 73 2e 3c 2f 74 le than this.</t
1e90: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 d>..<td><img src
1ea0: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
1eb0: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
1ec0: 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 ins/gui-postgres
1ed0: 2f 67 75 69 31 33 2e 70 6e 67 22 20 61 6c 74 3d /gui13.png" alt=
1ee0: 22 67 65 6f 6d 65 74 72 79 20 6f 70 65 72 61 74 "geometry operat
1ef0: 69 6f 6e 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 ions"></td>..</t
1f00: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 r>..<tr>..<td><b
1f10: 3e 34 2e 63 3c 2f 62 3e 20 62 65 20 77 61 72 6e >4.c</b> be warn
1f20: 65 64 3a 20 64 69 72 65 63 74 6c 79 20 71 75 65 ed: directly que
1f30: 72 79 69 6e 67 20 61 20 3c 62 3e 50 6f 73 74 47 rying a <b>PostG
1f40: 49 53 20 54 61 62 6c 65 3c 2f 62 3e 20 28 69 2e IS Table</b> (i.
1f50: 65 2e 20 61 20 56 69 72 74 75 61 6c 50 6f 73 74 e. a VirtualPost
1f60: 67 72 65 73 20 54 61 62 6c 65 20 63 6f 6e 74 61 gres Table conta
1f70: 69 6e 69 6e 67 20 50 6f 73 74 47 49 53 20 47 65 ining PostGIS Ge
1f80: 6f 6d 65 74 72 69 65 73 29 20 6e 65 76 65 72 20 ometries) never
1f90: 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 2e 0d is a good idea..
1fa0: 0a 46 6f 72 20 72 65 61 73 6f 6e 73 20 65 78 70 .For reasons exp
1fb0: 6c 61 69 6e 65 64 20 69 6e 20 3c 62 3e 34 2e 64 lained in <b>4.d
1fc0: 3c 2f 62 3e 2c 20 79 6f 75 27 6c 6c 20 62 65 20 </b>, you'll be
1fd0: 61 6c 77 61 79 73 20 61 73 6b 65 64 20 3c 62 3e always asked <b>
1fe0: 74 77 69 63 65 3c 2f 62 3e 20 62 65 66 6f 72 65 twice</b> before
1ff0: 20 73 74 61 72 74 69 6e 67 20 73 75 63 68 20 61 starting such a
2000: 6e 20 65 78 74 65 6e 73 69 76 65 20 28 61 6e 64 n extensive (and
2010: 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e potentially dan
2020: 67 65 72 6f 75 73 29 20 61 63 74 69 6f 6e 2e 3c gerous) action.<
2030: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 /td>..<td><img s
2040: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e rc="https://www.
2050: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 gaia-gis.it/gaia
2060: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 -sins/gui-postgr
2070: 65 73 2f 67 75 69 31 37 2e 70 6e 67 22 20 61 6c es/gui17.png" al
2080: 74 3d 22 64 69 72 65 63 74 20 70 6f 73 74 67 69 t="direct postgi
2090: 73 20 71 75 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a s query"></td>..
20a0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
20b0: 3e 3c 62 3e 34 2e 64 3c 2f 62 3e 20 74 68 65 20 ><b>4.d</b> the
20c0: 72 65 61 73 6f 6e 20 66 6f 72 20 73 75 63 68 20 reason for such
20d0: 61 20 62 65 68 61 76 69 6f 75 72 20 69 73 20 63 a behaviour is c
20e0: 6c 65 61 72 6c 79 20 73 68 6f 77 6e 20 69 6e 20 learly shown in
20f0: 74 68 65 20 73 69 64 65 20 66 69 67 75 72 65 2e the side figure.
2100: 3c 62 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 50 <br>..A VirtualP
2110: 6f 73 74 67 72 65 73 20 54 61 62 6c 65 20 77 69 ostgres Table wi
2120: 6c 6c 20 65 78 70 6f 73 65 20 61 6c 6c 20 47 65 ll expose all Ge
2130: 6f 6d 65 74 72 69 65 73 20 61 73 20 3c 62 3e 45 ometries as <b>E
2140: 57 4b 42 20 74 65 78 74 20 73 74 72 69 6e 67 73 WKB text strings
2150: 3c 2f 62 3e 20 75 73 69 6e 67 20 61 6e 20 68 65 </b> using an he
2160: 78 61 64 65 63 69 6d 61 6c 20 6e 6f 74 61 74 69 xadecimal notati
2170: 6f 6e 3b 20 69 6e 20 74 68 69 73 20 63 61 73 65 on; in this case
2180: 20 77 65 20 68 61 76 65 20 73 69 6d 70 6c 65 20 we have simple
2190: 50 4f 49 4e 54 53 2c 20 61 6e 64 20 74 68 65 20 POINTS, and the
21a0: 45 57 4b 42 20 73 74 72 69 6e 67 73 20 61 72 65 EWKB strings are
21b0: 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6d 70 reasonably comp
21c0: 61 63 74 2e 3c 62 72 3e 0d 0a 42 75 74 20 75 6e act.<br>..But un
21d0: 68 61 70 70 69 6c 79 20 63 6f 6d 70 6c 65 78 20 happily complex
21e0: 4c 49 4e 45 53 54 52 49 4e 47 20 6f 72 20 50 4f LINESTRING or PO
21f0: 4c 59 47 4f 4e 20 47 65 6f 6d 65 74 72 69 65 73 LYGON Geometries
2200: 20 6d 61 79 20 65 61 73 69 6c 79 20 72 65 71 75 may easily requ
2210: 69 72 65 20 73 65 76 65 72 61 6c 20 6d 69 6c 6c ire several mill
2220: 69 6f 6e 20 63 68 61 72 61 63 74 65 72 73 2c 20 ion characters,
2230: 61 6e 64 20 74 68 69 73 20 77 69 6c 6c 20 65 61 and this will ea
2240: 73 69 6c 79 20 6f 76 65 72 20 73 74 72 65 73 73 sily over stress
2250: 20 74 68 65 20 47 55 49 2e 3c 62 72 3e 0d 0a 54 the GUI.<br>..T
2260: 68 65 20 65 78 65 63 75 74 69 6f 6e 20 73 70 65 he execution spe
2270: 65 64 20 6f 66 20 73 75 63 68 20 61 20 71 75 65 ed of such a que
2280: 72 79 20 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c ry will certainl
2290: 79 20 62 65 20 3c 62 3e 76 65 72 79 3c 2f 62 3e y be <b>very</b>
22a0: 20 73 6c 75 67 67 69 73 68 2c 20 61 6e 64 20 69 sluggish, and i
22b0: 6e 73 74 61 62 69 6c 69 74 79 20 70 72 6f 62 6c nstability probl
22c0: 65 6d 73 2c 20 63 61 75 73 65 64 20 62 79 20 65 ems, caused by e
22d0: 78 63 65 73 73 69 76 65 20 6d 65 6d 6f 72 79 20 xcessive memory
22e0: 75 73 65 2c 20 63 6f 75 6c 64 20 65 76 65 6e 74 use, could event
22f0: 75 61 6c 6c 79 20 61 72 69 73 65 2e 3c 62 72 3e ually arise.<br>
2300: 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 53 68 6f <br><br>..<b>Sho
2310: 72 74 20 63 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 rt conclusion</b
2320: 3e 3a 20 6e 65 76 65 72 2c 20 65 76 65 72 2c 20 >: never, ever,
2330: 61 74 74 65 6d 70 74 20 74 6f 20 64 69 72 65 63 attempt to direc
2340: 74 6c 79 20 71 75 65 72 79 20 61 20 50 6f 73 74 tly query a Post
2350: 47 49 53 20 54 61 62 6c 65 20 21 3c 2f 74 64 3e GIS Table !</td>
2360: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 ..<td><img src="
2370: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
2380: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
2390: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 s/gui-postgres/g
23a0: 75 69 31 35 2e 70 6e 67 22 20 61 6c 74 3d 22 64 ui15.png" alt="d
23b0: 69 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 75 irect postgis qu
23c0: 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ery"></td>..</tr
23d0: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e >..<tr>..<td><b>
23e0: 34 2e 65 3c 2f 62 3e 20 54 6f 20 61 76 6f 69 64 4.e</b> To avoid
23f0: 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2c 20 61 this problem, a
2400: 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69 companion Spati
2410: 61 6c 20 56 69 65 77 20 65 78 69 73 74 73 20 66 al View exists f
2420: 6f 72 20 65 76 65 72 79 20 50 6f 73 74 47 49 53 or every PostGIS
2430: 20 54 61 62 6c 65 2c 20 61 6e 64 20 69 73 20 73 Table, and is s
2440: 70 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 pecifically inte
2450: 6e 64 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 nded to support
2460: 73 61 66 65 20 61 6e 64 20 74 72 6f 75 62 6c 65 safe and trouble
2470: 20 66 72 65 65 20 71 75 65 72 69 65 73 2e 3c 62 free queries.<b
2480: 72 3e 0d 0a 41 6c 73 6f 20 74 68 65 20 53 70 61 r>..Also the Spa
2490: 74 69 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 74 tial View will t
24a0: 61 6b 65 20 63 61 72 65 20 74 6f 20 73 69 6c 65 ake care to sile
24b0: 6e 74 6c 79 20 63 6f 6e 76 65 72 74 20 62 69 6e ntly convert bin
24c0: 61 72 79 20 47 65 6f 6d 65 74 72 69 65 73 20 74 ary Geometries t
24d0: 6f 20 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 6e o and from the n
24e0: 65 65 64 65 64 20 66 6f 72 6d 61 74 2c 20 73 69 eeded format, si
24f0: 6d 70 6c 69 66 79 69 6e 67 20 74 68 65 20 77 72 mplifying the wr
2500: 69 74 69 6e 67 20 6f 66 20 63 75 73 74 6f 6d 69 iting of customi
2510: 7a 65 64 20 53 51 4c 20 71 75 65 72 69 65 73 20 zed SQL queries
2520: 75 73 69 6e 67 20 53 70 61 74 69 61 6c 20 46 75 using Spatial Fu
2530: 6e 63 74 69 6f 6e 73 20 73 69 6e 63 65 20 74 68 nctions since th
2540: 65 20 75 73 65 72 20 64 6f 65 73 20 6e 6f 74 20 e user does not
2550: 6e 65 65 64 20 74 6f 20 64 6f 20 61 6e 79 20 62 need to do any b
2560: 69 6e 61 72 79 20 63 6f 6e 76 65 72 73 69 6f 6e inary conversion
2570: 73 20 6f 66 20 74 68 65 20 47 65 6f 6d 65 74 72 s of the Geometr
2580: 69 65 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c ies.</td>..<td><
2590: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f img src="https:/
25a0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 /www.gaia-gis.it
25b0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 /gaia-sins/gui-p
25c0: 6f 73 74 67 72 65 73 2f 67 75 69 31 36 2e 70 6e ostgres/gui16.pn
25d0: 67 22 20 61 6c 74 3d 22 69 6e 64 69 72 65 63 74 g" alt="indirect
25e0: 20 70 6f 73 74 67 69 73 20 71 75 65 72 79 22 3e postgis query">
25f0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 </td>..</tr>..<t
2600: 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 66 3c 2f r>..<td><b>4.f</
2610: 62 3e 20 74 68 65 20 63 6f 6d 70 61 6e 69 6f 6e b> the companion
2620: 20 53 70 61 74 69 61 6c 20 56 69 65 77 20 77 69 Spatial View wi
2630: 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 61 20 3c ll always be a <
2640: 62 3e 57 72 69 74 61 62 6c 65 20 56 69 65 77 3c b>Writable View<
2650: 2f 62 3e 20 77 68 65 6e 20 74 68 65 20 63 6f 72 /b> when the cor
2660: 72 65 73 70 6f 6e 64 69 6e 67 20 50 6f 73 74 47 responding PostG
2670: 49 53 20 54 61 62 6c 65 20 69 73 20 61 70 70 72 IS Table is appr
2680: 6f 70 72 69 61 74 65 6c 79 20 65 6e 61 62 6c 65 opriately enable
2690: 64 20 61 6e 64 20 77 68 65 6e 20 74 68 65 20 63 d and when the c
26a0: 6f 6e 6e 65 63 74 69 6f 6e 20 73 75 70 70 6f 72 onnection suppor
26b0: 74 73 20 52 45 41 44 2d 57 52 49 54 45 20 6f 70 ts READ-WRITE op
26c0: 65 72 61 74 69 6f 6e 73 2e 3c 62 72 3e 3c 62 72 erations.<br><br
26d0: 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f ><br>..<b>Note</
26e0: 62 3e 3a 20 41 6c 6c 20 61 70 70 72 6f 70 72 69 b>: All appropri
26f0: 61 74 65 20 54 72 69 67 67 65 72 73 20 28 73 75 ate Triggers (su
2700: 70 70 6f 72 74 69 6e 67 20 3c 62 3e 49 4e 53 45 pporting <b>INSE
2710: 52 54 3c 2f 62 3e 2c 20 3c 62 3e 55 50 44 41 54 RT</b>, <b>UPDAT
2720: 45 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 45 4c E</b> and <b>DEL
2730: 45 54 45 3c 2f 62 3e 20 6f 70 65 72 61 74 69 6f ETE</b> operatio
2740: 6e 73 29 2c 20 66 6f 72 20 61 20 57 72 69 74 61 ns), for a Writa
2750: 62 6c 65 20 53 70 61 74 69 61 6c 20 56 69 65 77 ble Spatial View
2760: 2c 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 , will be automa
2770: 74 69 63 61 6c 6c 79 20 63 72 65 61 74 65 64 2e tically created.
2780: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 </td>..<td><img
2790: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 src="https://www
27a0: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 .gaia-gis.it/gai
27b0: 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 a-sins/gui-postg
27c0: 72 65 73 2f 67 75 69 31 34 2e 70 6e 67 22 20 61 res/gui14.png" a
27d0: 6c 74 3d 22 70 6f 73 74 67 69 73 20 65 64 69 74 lt="postgis edit
27e0: 69 6e 67 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 ing"></td>..</tr
27f0: 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c 73 70 >..<tr><td colsp
2800: 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d 22 63 65 an="2" align="ce
2810: 6e 74 65 72 22 3e 3c 68 33 3e 3c 61 20 6e 61 6d nter"><h3><a nam
2820: 65 3d 22 61 64 64 65 6e 64 75 6d 22 3e 41 64 64 e="addendum">Add
2830: 65 6e 64 75 6d 3c 2f 61 3e 3a 20 73 70 65 63 69 endum</a>: speci
2840: 61 6c 20 6e 6f 74 65 20 66 6f 72 20 57 69 6e 64 al note for Wind
2850: 6f 77 73 20 75 73 65 72 73 3c 2f 68 33 3e 3c 68 ows users</h3><h
2860: 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 r></td></tr>..<t
2870: 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 20 3d 20 r><td colspan =
2880: 22 32 22 3e 0d 0a 41 6c 6c 20 70 72 65 76 69 6f "2">..All previo
2890: 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 us versions of t
28a0: 68 65 20 47 55 49 20 62 69 6e 61 72 69 65 73 20 he GUI binaries
28b0: 72 65 6c 65 61 73 65 64 20 69 6e 20 74 68 65 20 released in the
28c0: 70 61 73 74 20 77 65 72 65 20 61 6c 77 61 79 73 past were always
28d0: 20 62 61 73 65 64 20 6f 6e 20 61 20 73 69 6e 67 based on a sing
28e0: 6c 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 3c 62 le monolithic <b
28f0: 3e 2e 65 78 65 3c 2f 62 3e 20 66 75 6c 6c 79 20 >.exe</b> fully
2900: 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 73 74 61 depending on sta
2910: 74 69 63 20 6c 69 6e 6b 61 67 65 2c 20 6e 6f 74 tic linkage, not
2920: 20 72 65 71 75 69 72 69 6e 67 20 61 6e 79 20 6f requiring any o
2930: 74 68 65 72 20 44 4c 4c 20 61 74 20 61 6c 6c 2e ther DLL at all.
2940: 3c 62 72 3e 3c 62 72 3e 0d 0a 55 6e 68 61 70 70 <br><br>..Unhapp
2950: 69 6c 79 20 74 68 69 73 20 69 73 20 6e 6f 20 6c ily this is no l
2960: 6f 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 2c 20 onger possible,
2970: 73 69 6e 63 65 20 3c 62 3e 6c 69 62 70 71 3c 2f since <b>libpq</
2980: 62 3e 20 28 3c 69 3e 74 68 65 20 50 6f 73 74 67 b> (<i>the Postg
2990: 72 65 53 51 4c 20 6f 77 6e 20 63 6c 69 65 6e 74 reSQL own client
29a0: 20 6c 69 62 72 61 72 79 3c 2f 69 3e 29 20 69 73 library</i>) is
29b0: 20 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 only available
29c0: 61 73 20 61 20 44 4c 4c 20 6f 6e 20 57 69 6e 64 as a DLL on Wind
29d0: 6f 77 73 2c 20 61 6e 64 20 74 68 65 72 65 66 6f ows, and therefo
29e0: 72 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 re cannot be use
29f0: 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 63 6f d to create a co
2a00: 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 61 74 rresponding stat
2a10: 69 63 20 6c 69 62 72 61 72 79 2e 3c 62 72 3e 0d ic library.<br>.
2a20: 0a 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 3a .More precisely:
2a30: 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 a static librar
2a40: 79 20 69 73 20 61 63 74 75 61 6c 6c 79 20 62 75 y is actually bu
2a50: 69 6c 74 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 ilt when compili
2a60: 6e 67 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 62 ng PostgreSQL, b
2a70: 75 74 20 6f 6e 20 57 69 6e 64 6f 77 73 20 69 74 ut on Windows it
2a80: 20 73 69 6d 70 6c 79 20 69 73 20 61 20 73 74 75 simply is a stu
2a90: 62 20 73 74 69 6c 6c 20 72 65 71 75 69 72 69 6e b still requirin
2aa0: 67 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 44 4c g to load the DL
2ab0: 4c 20 61 74 20 72 75 6e 20 74 69 6d 65 2e 3c 62 L at run time.<b
2ac0: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 46 6f 72 20 r><br><br>..For
2ad0: 74 68 69 73 20 72 65 61 73 6f 6e 2c 20 3c 62 3e this reason, <b>
2ae0: 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 2e 65 spatialite_gui.e
2af0: 78 65 3c 2f 62 3e 2c 20 77 68 69 63 68 20 6f 74 xe</b>, which ot
2b00: 68 65 72 77 69 73 65 20 64 65 70 65 6e 64 73 20 herwise depends
2b10: 6f 6e 20 61 20 73 74 61 74 69 63 20 6c 69 6e 6b on a static link
2b20: 61 67 65 2c 20 6d 75 73 74 20 6d 61 6b 65 20 61 age, must make a
2b30: 6e 20 65 78 63 65 70 74 69 6f 6e 20 66 6f 72 20 n exception for
2b40: 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e <b>libpq.dll</b>
2b50: 2e 3c 62 72 3e 0d 0a 53 6f 20 61 20 72 65 61 73 .<br>..So a reas
2b60: 6f 6e 61 62 6c 65 20 63 6f 6d 70 72 6f 6d 69 73 onable compromis
2b70: 65 20 68 61 73 20 62 65 65 6e 20 61 64 6f 70 74 e has been adopt
2b80: 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d ed in order to m
2b90: 69 74 69 67 61 74 65 20 74 68 65 20 6e 65 67 61 itigate the nega
2ba0: 74 69 76 65 20 69 6d 70 61 63 74 20 6f 66 20 73 tive impact of s
2bb0: 75 63 68 20 61 6e 20 6f 64 64 20 6c 61 79 6f 75 uch an odd layou
2bc0: 74 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 t:..<ul>..<li>th
2bd0: 65 20 62 69 6e 61 72 69 65 73 20 66 6f 72 20 57 e binaries for W
2be0: 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 indows platforms
2bf0: 20 77 69 6c 6c 20 62 65 20 62 75 69 6c 74 20 69 will be built i
2c00: 6e 20 73 75 63 68 20 61 20 77 61 79 20 74 68 61 n such a way tha
2c10: 74 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f t <b>libpq.dll</
2c20: 62 3e 20 77 69 6c 6c 20 73 75 70 70 6f 72 74 20 b> will support
2c30: 77 68 61 74 20 69 73 20 67 65 6e 65 72 61 6c 6c what is generall
2c40: 79 20 6b 6e 6f 77 6e 20 61 73 20 3c 62 3e 6c 61 y known as <b>la
2c50: 74 65 20 62 69 6e 64 69 6e 67 3c 2f 62 3e 20 61 te binding</b> a
2c60: 6b 61 20 3c 62 3e 64 65 66 65 72 72 65 64 20 62 ka <b>deferred b
2c70: 69 6e 64 69 6e 67 3c 2f 62 3e 2e 3c 2f 6c 69 3e inding</b>.</li>
2c80: 0d 0a 3c 6c 69 3e 74 68 69 73 20 77 61 79 2c 20 ..<li>this way,
2c90: 74 68 65 20 6d 61 69 6e 20 63 6f 72 65 20 6f 66 the main core of
2ca0: 20 74 68 65 20 47 55 49 20 20 77 69 6c 6c 20 63 the GUI will c
2cb0: 6f 6e 74 69 6e 75 65 20 74 6f 20 77 6f 72 6b 20 ontinue to work
2cc0: 77 69 74 68 6f 75 74 20 6c 6f 61 64 69 6e 67 20 without loading
2cd0: 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e <b>libpq.dll</b>
2ce0: 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e 6c .</li>..<li><b>l
2cf0: 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 77 69 6c ibpq.dll</b> wil
2d00: 6c 20 62 65 20 6f 6e 6c 79 20 62 65 20 6c 6f 61 l be only be loa
2d10: 64 65 64 20 77 68 65 6e 20 6e 65 65 64 65 64 20 ded when needed
2d20: 28 69 2e 65 2e 20 77 68 65 6e 20 74 68 65 20 75 (i.e. when the u
2d30: 73 65 72 20 72 65 71 75 65 73 74 73 20 61 20 50 ser requests a P
2d40: 6f 73 74 67 72 65 53 51 4c 20 63 6f 6e 6e 65 63 ostgreSQL connec
2d50: 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 tion).</li>..<li
2d60: 3e 69 66 20 74 68 65 20 44 4c 4c 20 66 61 69 6c >if the DLL fail
2d70: 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 66 s to be loaded f
2d80: 6f 72 20 61 6e 79 20 72 65 61 73 6f 6e 2c 20 74 or any reason, t
2d90: 68 65 20 50 6f 73 74 67 72 65 53 51 4c 20 73 75 he PostgreSQL su
2da0: 70 70 6f 72 74 20 77 69 6c 6c 20 72 65 6d 61 69 pport will remai
2db0: 6e 20 64 69 73 61 62 6c 65 64 20 61 6e 64 20 74 n disabled and t
2dc0: 68 65 20 47 55 49 20 77 69 6c 6c 20 63 6f 6e 74 he GUI will cont
2dd0: 69 6e 75 65 20 75 6e 61 66 66 65 63 74 65 64 2e inue unaffected.
2de0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f </li>..</ul>..</
2df0: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 td></tr>..<tr><t
2e00: 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c d colspan="2" al
2e10: 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 ign="center"><h3
2e20: 3e 48 6f 77 20 74 6f 20 6c 6f 61 64 20 4c 69 62 >How to load Lib
2e30: 50 47 2c 20 77 68 65 6e 20 69 74 20 68 61 73 20 PG, when it has
2e40: 6e 6f 74 20 62 65 65 6e 20 61 75 74 6f 6d 61 74 not been automat
2e50: 69 63 61 6c 6c 79 20 66 6f 75 6e 64 3c 2f 68 33 ically found</h3
2e60: 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 ></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 65 6c 79 2e 3c 2f 6c 69 3e 0d 0a 3c nicely.</li>..<
2fc0: 6c 69 3e 69 66 20 3c 62 3e 6c 69 62 70 71 2e 64 li>if <b>libpq.d
2fd0: 6c 6c 3c 2f 62 3e 20 63 61 6e 6e 6f 74 20 62 65 ll</b> cannot be
2fe0: 20 66 6f 75 6e 64 2c 20 74 68 65 6e 20 74 68 65 found, then the
2ff0: 20 75 73 65 72 20 69 73 20 61 73 6b 65 64 20 74 user is asked t
3000: 6f 20 6d 61 6e 75 61 6c 6c 79 20 6c 6f 61 64 20 o manually load
3010: 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e <b>libpq.dll</b>
3020: 2c 20 61 73 20 73 68 6f 77 6e 20 62 79 20 74 68 , as shown by th
3030: 65 20 73 69 64 65 20 66 69 67 75 72 65 2e 3c 2f e side figure.</
3040: 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d li>..</ul></td>.
3050: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 .<td><img src="h
3060: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d ttps://www.gaia-
3070: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 gis.it/gaia-sins
3080: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6c 69 /gui-postgres/li
3090: 62 70 71 2d 64 65 66 65 72 72 65 64 31 2e 70 6e bpq-deferred1.pn
30a0: 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 20 6e 6f g" alt="libpq no
30b0: 74 20 66 6f 75 6e 64 22 3e 3c 2f 74 64 3e 0d 0a t found"></td>..
30c0: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 </tr>..<tr>..<td
30d0: 3e 3c 62 3e 41 2e 32 3c 2f 62 3e 20 74 68 65 20 ><b>A.2</b> the
30e0: 73 74 61 6e 64 61 72 64 20 46 69 6c 65 20 53 65 standard File Se
30f0: 6c 65 63 74 69 6f 6e 20 64 69 61 6c 6f 67 20 63 lection dialog c
3100: 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 6f an be used to lo
3110: 63 61 74 65 20 61 6e 64 20 6f 70 65 6e 20 74 68 cate and open th
3120: 65 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f e <b>libpq.dll</
3130: 62 3e 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d b>.<br><br><br>.
3140: 0a 3c 62 3e 57 61 72 6e 69 6e 67 3c 2f 62 3e 3a .<b>Warning</b>:
3150: 20 61 20 63 6f 6d 6d 6f 6e 20 70 69 74 66 61 6c a common pitfal
3160: 6c 20 69 73 20 61 74 74 65 6d 70 74 69 6e 67 20 l is attempting
3170: 74 6f 20 6c 6f 61 64 20 61 20 33 32 2f 36 34 20 to load a 32/64
3180: 62 69 74 20 44 4c 4c 20 74 6f 20 61 20 36 34 2f bit DLL to a 64/
3190: 33 32 20 62 69 74 20 47 55 49 2e 3c 62 72 3e 0d 32 bit GUI.<br>.
31a0: 0a 54 68 65 20 63 6f 64 65 20 6d 6f 64 65 6c 20 .The code model
31b0: 28 33 32 2f 36 34 20 62 69 74 29 20 6f 66 20 62 (32/64 bit) of b
31c0: 6f 74 68 20 74 68 65 20 65 78 65 63 75 74 61 62 oth the executab
31d0: 6c 65 20 61 6e 64 20 74 68 65 20 44 4c 4c 20 6d le and the DLL m
31e0: 75 73 74 20 74 68 65 20 73 61 6d 65 2e 3c 2f 74 ust the same.</t
31f0: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 d>..<td><img src
3200: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 ="https://www.ga
3210: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 ia-gis.it/gaia-s
3220: 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 ins/gui-postgres
3230: 2f 6c 69 62 70 71 2d 64 65 66 65 72 72 65 64 32 /libpq-deferred2
3240: 2e 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 .png" alt="libpq
3250: 20 6f 70 65 6e 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f open"></td>..</
3260: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c tr>..<tr>..<td><
3270: 62 3e 41 2e 33 3c 2f 62 3e 20 69 66 20 3c 62 3e b>A.3</b> if <b>
3280: 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 68 61 libpq.dll</b> ha
3290: 73 20 62 65 65 6e 20 73 75 63 63 65 73 73 66 75 s been successfu
32a0: 6c 6c 79 20 6c 6f 61 64 65 64 20 61 20 63 6f 6e lly loaded a con
32b0: 66 69 72 6d 61 74 69 6f 6e 20 6d 65 73 73 61 67 firmation messag
32c0: 65 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2c e will be shown,
32d0: 20 77 69 74 68 20 74 68 65 20 61 73 73 6f 63 69 with the associ
32e0: 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 ation between th
32f0: 65 20 47 55 49 20 61 6e 64 20 74 68 65 20 44 4c e GUI and the DL
3300: 4c 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 72 65 L permanently re
3310: 67 69 73 74 65 72 65 64 2e 3c 62 72 3e 0d 0a 4f gistered.<br>..O
3320: 6e 63 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 nce successfully
3330: 20 6c 6f 61 64 65 64 2c 20 61 6c 6c 20 74 68 65 loaded, all the
3340: 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 65 73 73 69 following sessi
3350: 6f 6e 73 20 77 69 6c 6c 20 75 73 65 20 74 68 69 ons will use thi
3360: 73 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 61 75 s association au
3370: 74 6f 6d 61 74 69 63 61 6c 6c 79 2c 20 6d 61 6b tomatically, mak
3380: 69 6e 67 20 74 68 69 73 20 61 20 6f 6e 65 20 74 ing this a one t
3390: 69 6d 65 20 65 66 66 6f 72 74 2e 3c 2f 74 64 3e ime effort.</td>
33a0: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 ..<td><img src="
33b0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 https://www.gaia
33c0: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e -gis.it/gaia-sin
33d0: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6c s/gui-postgres/l
33e0: 69 62 70 71 2d 64 65 66 65 72 72 65 64 33 2e 70 ibpq-deferred3.p
33f0: 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70 71 20 6c ng" alt="libpq l
3400: 6f 61 64 65 64 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f oaded"></td>..</
3410: 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 0d tr>..</table>...
3420: 0a 0d 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72 ...Back to <a hr
3430: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e ef="https://www.
3440: 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 gaia-gis.it/foss
3450: 69 6c 2f 73 70 61 74 69 61 6c 69 74 65 5f 67 75 il/spatialite_gu
3460: 69 2f 77 69 6b 69 3f 6e 61 6d 65 3d 73 70 61 74 i/wiki?name=spat
3470: 69 61 6c 69 74 65 2d 67 75 69 22 3e 6d 61 69 6e ialite-gui">main
3480: 20 57 69 6b 69 20 70 61 67 65 3c 2f 61 3e 0a 5a Wiki page</a>.Z
3490: 20 36 39 38 65 66 66 30 37 35 36 36 34 62 63 30 698eff075664bc0
34a0: 31 31 30 36 63 66 64 34 35 65 33 32 37 33 64 65 1106cfd45e3273de
34b0: 64 0a d.