Hex Artifact Content
Not logged in

Artifact 63d84f2faee22912104dd85f917bfd9bdb72e3ce:

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