Hex Artifact Content
Not logged in

Artifact 49a4379f39c33906f27c3448b71dddff73a4d176:

Wiki page [PostgreSQL] by sandro 2018-08-05 10:05:13.
0000: 44 20 32 30 31 38 2d 30 38 2d 30 35 54 31 30 3a  D 2018-08-05T10:
0010: 30 35 3a 31 33 2e 37 31 35 0a 4c 20 50 6f 73 74  05:13.715.L Post
0020: 67 72 65 53 51 4c 0a 50 20 64 36 62 64 30 31 62  greSQL.P d6bd01b
0030: 62 38 64 33 64 66 31 36 64 61 62 63 31 62 63 37  b8d3df16dabc1bc7
0040: 38 32 66 61 63 34 32 32 63 38 33 66 30 63 63 37  82fac422c83f0cc7
0050: 33 0a 55 20 73 61 6e 64 72 6f 0a 57 20 31 33 33  3.U sandro.W 133
0060: 33 37 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72  37.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 61  on dialog will a
0680: 70 70 65 61 72 2e 3c 62 72 3e 0d 0a 4a 75 73 74  ppear.<br>..Just
0690: 20 69 6e 73 65 72 74 20 74 68 65 20 72 65 71 75   insert the requ
06a0: 69 72 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 20  ired connection 
06b0: 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 63 6f  arguments and co
06c0: 6e 66 69 72 6d 2e 3c 62 72 3e 3c 62 72 3e 0d 0a  nfirm.<br><br>..
06d0: 57 68 65 6e 20 69 6e 76 61 6c 69 64 20 61 72 67  When invalid arg
06e0: 75 6d 65 6e 74 73 20 61 72 65 20 67 69 76 65 6e  uments are given
06f0: 2c 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61  , an error messa
0700: 67 65 20 20 77 69 6c 6c 20 62 65 20 74 68 65 6e  ge  will be then
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 66  d it useful to f
07c0: 69 72 73 74 20 72 65 61 64 69 6e 67 20 74 68 65  irst reading the
07d0: 20 74 75 74 6f 72 69 61 6c 20 61 62 6f 75 74 20   tutorial about 
07e0: 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f  <a href="https:/
07f0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
0800: 2f 66 6f 73 73 69 6c 2f 76 69 72 74 75 61 6c 70  /fossil/virtualp
0810: 67 2f 77 69 6b 69 3f 6e 61 6d 65 3d 70 6f 72 74  g/wiki?name=port
0820: 2d 66 6f 72 77 61 72 64 69 6e 67 22 3e 53 53 48  -forwarding">SSH
0830: 20 74 75 6e 6e 65 6c 69 6e 67 20 61 6e 64 20 50   tunneling and P
0840: 6f 72 74 20 46 6f 72 77 61 72 64 69 6e 67 3c 2f  ort Forwarding</
0850: 61 3e 0d 0a 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  a>..<br><br><br>
0860: 0d 0a 3c 68 72 3e 0d 0a 3c 74 61 62 6c 65 20 62  ..<hr>..<table b
0870: 67 63 6f 6c 6f 72 3d 22 23 66 66 63 63 38 30 22  gcolor="#ffcc80"
0880: 20 63 65 6c 6c 73 70 61 63 69 6e 67 3d 22 36 22   cellspacing="6"
0890: 20 63 65 6c 6c 70 61 64 64 69 6e 67 3d 22 36 22   cellpadding="6"
08a0: 20 62 6f 72 64 65 72 3d 22 31 22 20 77 69 64 74   border="1" widt
08b0: 68 3d 22 31 30 30 25 22 3e 0d 0a 3c 74 72 3e 3c  h="100%">..<tr><
08c0: 74 64 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72  td align="center
08d0: 22 3e 3c 68 33 3e 53 70 65 63 69 61 6c 20 6e 6f  "><h3>Special no
08e0: 74 65 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 75  te for Windows u
08f0: 73 65 72 73 3c 2f 68 33 3e 3c 2f 74 64 3e 3c 2f  sers</h3></td></
0900: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 3e 0d 0a 50  tr>..<tr><td>..P
0910: 6c 65 61 73 65 20 72 65 61 64 20 74 68 65 20 3c  lease read the <
0920: 61 20 68 72 65 66 3d 22 23 61 64 64 65 6e 64 75  a href="#addendu
0930: 6d 22 3e 41 64 64 65 6e 64 75 6d 3c 2f 61 3e 20  m">Addendum</a> 
0940: 61 62 6f 75 74 20 4c 69 62 50 51 20 6c 61 74 65  about LibPQ late
0950: 20 62 69 6e 64 69 6e 67 2e 0d 0a 3c 2f 74 64 3e   binding...</td>
0960: 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 3c  </tr>..</table><
0970: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73  /td>..<td><img s
0980: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0990: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
09a0: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72  -sins/gui-postgr
09b0: 65 73 2f 67 75 69 34 2e 70 6e 67 22 20 61 6c 74  es/gui4.png" alt
09c0: 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 20 34 22 3e  ="connection 4">
09d0: 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74  </td>..</tr>..<t
09e0: 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32  r><td colspan="2
09f0: 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22  " align="center"
0a00: 3e 3c 68 33 3e 32 20 2d 20 45 78 70 61 6e 64 69  ><h3>2 - Expandi
0a10: 6e 67 20 74 68 65 20 50 6f 73 74 67 72 65 53 51  ng the PostgreSQ
0a20: 4c 20 74 72 65 65 3c 2f 68 33 3e 3c 68 72 3e 3c  L tree</h3><hr><
0a30: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /td></tr>..<tr>.
0a40: 0a 3c 74 64 3e 3c 62 3e 32 2e 61 3c 2f 62 3e 20  .<td><b>2.a</b> 
0a50: 6f 6e 63 65 20 61 20 6e 65 77 20 50 6f 73 74 67  once a new Postg
0a60: 72 65 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68  res connection h
0a70: 61 73 20 62 65 65 6e 20 73 75 63 63 65 73 73 66  as been successf
0a80: 75 6c 6c 79 20 65 73 74 61 62 6c 69 73 68 65 64  ully established
0a90: 2c 20 74 68 65 20 50 6f 73 74 67 72 65 73 20 6e  , the Postgres n
0aa0: 6f 64 65 20 6f 6e 20 74 68 65 20 6d 61 69 6e 20  ode on the main 
0ab0: 54 61 62 6c 65 20 54 72 65 65 20 77 69 6c 6c 20  Table Tree will 
0ac0: 63 6f 6e 74 61 69 6e 20 61 6c 6c 20 54 61 62 6c  contain all Tabl
0ad0: 65 73 20 61 6e 64 20 56 69 65 77 73 20 64 65 66  es and Views def
0ae0: 69 6e 65 64 20 69 6e 20 74 68 65 20 50 6f 73 74  ined in the Post
0af0: 67 72 65 73 20 44 61 74 61 62 61 73 65 2c 20 61  gres Database, a
0b00: 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68  ccordingly to th
0b10: 65 20 75 73 75 61 6c 20 61 72 72 61 6e 67 65 6d  e usual arrangem
0b20: 65 6e 74 20 61 64 6f 70 74 65 64 20 62 79 20 50  ent adopted by P
0b30: 6f 73 74 67 72 65 73 3a 0d 0a 3c 75 6c 3e 0d 0a  ostgres:..<ul>..
0b40: 3c 6c 69 3e 43 6f 6e 6e 65 63 74 69 6f 6e 20 3c  <li>Connection <
0b50: 69 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 44 61 74  i>aka</i> <b>Dat
0b60: 61 62 61 73 65 3c 2f 62 3e 0d 0a 3c 75 6c 3e 0d  abase</b>..<ul>.
0b70: 0a 3c 6c 69 3e 3c 62 3e 53 63 68 65 6d 61 3c 2f  .<li><b>Schema</
0b80: 62 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62  b>..<ul>..<li><b
0b90: 3e 54 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62  >Table</b> or <b
0ba0: 3e 56 69 65 77 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a  >View</b></li>..
0bb0: 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c  </ul></li>..</ul
0bc0: 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72  ></li>..</ul><br
0bd0: 3e 3c 62 72 3e 0d 0a 45 61 63 68 20 6b 69 6e 64  ><br>..Each kind
0be0: 20 6f 66 20 64 61 74 61 62 61 73 65 20 6f 62 6a   of database obj
0bf0: 65 63 74 20 77 69 6c 6c 20 62 65 20 63 6c 65 61  ect will be clea
0c00: 72 6c 79 20 69 64 65 6e 74 69 66 69 65 64 20 62  rly identified b
0c10: 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65  y an appropriate
0c20: 20 69 63 6f 6e 3b 20 56 69 65 77 73 20 77 69 6c   icon; Views wil
0c30: 6c 20 62 65 20 64 69 73 74 69 6e 67 75 69 73 68  l be distinguish
0c40: 65 64 20 66 72 6f 6d 20 54 61 62 6c 65 73 2c 20  ed from Tables, 
0c50: 61 6e 64 20 3c 62 3e 50 6f 73 74 47 49 53 3c 2f  and <b>PostGIS</
0c60: 62 3e 20 54 61 62 6c 65 73 20 28 63 6f 6e 74 61  b> Tables (conta
0c70: 69 6e 69 6e 67 20 3c 62 3e 47 65 6f 6d 65 74 72  ining <b>Geometr
0c80: 79 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 73 29 20 77  y</b> columns) w
0c90: 69 6c 6c 20 62 65 20 63 6c 65 61 72 6c 79 20 64  ill be clearly d
0ca0: 69 73 74 69 6e 67 75 69 73 68 65 64 20 66 72 6f  istinguished fro
0cb0: 6d 20 6f 72 64 69 6e 61 72 79 20 54 61 62 6c 65  m ordinary Table
0cc0: 73 2e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e  s.<br><br>..<b>N
0cd0: 6f 74 65 3c 2f 62 3e 3a 20 61 6c 6c 20 50 6f 73  ote</b>: all Pos
0ce0: 74 67 72 65 73 20 54 61 62 6c 65 73 20 61 6e 64  tgres Tables and
0cf0: 20 56 69 65 77 73 20 28 6e 61 6d 65 6c 79 3a 20   Views (namely: 
0d00: 3c 62 3e 56 69 72 74 75 61 6c 50 6f 73 74 67 72  <b>VirtualPostgr
0d10: 65 73 3c 2f 62 3e 20 54 61 62 6c 65 73 29 20 77  es</b> Tables) w
0d20: 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 76 65 20  ill always have 
0d30: 61 20 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 20 6e  a conventional n
0d40: 61 6d 65 20 73 74 61 72 74 69 6e 67 20 77 69 74  ame starting wit
0d50: 68 20 74 68 65 20 3c 62 3e 76 70 67 5f 3c 2f 62  h the <b>vpg_</b
0d60: 3e 20 70 72 65 66 69 78 2e 3c 62 72 3e 0d 0a 57  > prefix.<br>..W
0d70: 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65  henever possible
0d80: 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 50 6f   the original Po
0d90: 73 74 67 72 65 73 20 4e 61 6d 65 20 77 69 6c 6c  stgres Name will
0da0: 20 62 65 20 70 72 65 73 65 72 76 65 64 2c 20 6f   be preserved, o
0db0: 74 68 65 72 77 69 73 65 20 61 20 6e 75 6d 65 72  therwise a numer
0dc0: 69 63 20 73 75 66 66 69 78 20 69 74 20 77 69 6c  ic suffix it wil
0dd0: 6c 20 62 65 20 61 64 64 65 64 2c 20 65 6e 73 75  l be added, ensu
0de0: 72 69 6e 67 20 61 20 75 6e 69 71 75 65 20 6e 61  ring a unique na
0df0: 6d 65 20 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  me .<br><br><br>
0e00: 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e 3c 62 72 3e  ..<hr>..<br><br>
0e10: 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20 61  ..<b>Note</b>: a
0e20: 6c 6c 20 64 61 74 61 62 61 73 65 20 6f 62 6a 65  ll database obje
0e30: 63 74 73 20 69 6e 20 74 68 65 20 50 6f 73 74 67  cts in the Postg
0e40: 72 65 73 20 54 72 65 65 20 61 72 65 20 64 79 6e  res Tree are dyn
0e50: 61 6d 69 63 2c 20 61 6e 64 20 77 69 6c 6c 20 61  amic, and will a
0e60: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 64 69 73  utomatically dis
0e70: 61 70 70 65 61 72 20 77 68 65 6e 20 74 68 65 20  appear when the 
0e80: 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 6f  corresponding co
0e90: 6e 6e 65 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65  nnection will be
0ea0: 20 63 6c 6f 73 65 64 2c 20 6f 72 20 77 68 65 6e   closed, or when
0eb0: 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 73   the current ses
0ec0: 73 69 6f 6e 20 65 6e 64 73 2e 3c 2f 74 64 3e 0d  sion ends.</td>.
0ed0: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68  .<td><img src="h
0ee0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
0ef0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
0f00: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75  /gui-postgres/gu
0f10: 69 35 2e 70 6e 67 22 20 61 6c 74 3d 22 74 61 62  i5.png" alt="tab
0f20: 6c 65 20 74 72 65 65 22 3e 3c 2f 74 64 3e 0d 0a  le tree"></td>..
0f30: 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64  </tr>..<tr>..<td
0f40: 3e 3c 62 3e 32 2e 62 3c 2f 62 3e 20 69 66 2c 20  ><b>2.b</b> if, 
0f50: 66 6f 72 20 61 6e 79 20 70 6f 73 73 69 62 6c 65  for any possible
0f60: 20 72 65 61 73 6f 6e 20 28 73 75 63 68 20 61 73   reason (such as
0f70: 20 6f 6e 3a 20 61 20 73 79 73 74 65 6d 20 63 72   on: a system cr
0f80: 61 73 68 2c 20 70 6f 77 65 72 20 66 61 69 6c 75  ash, power failu
0f90: 72 65 2c 20 65 74 63 2e 29 2c 20 70 6f 77 65 72  re, etc.), power
0fa0: 20 66 61 69 6c 75 72 65 20 61 6e 64 20 61 6c 69   failure and ali
0fb0: 6b 65 29 2c 20 74 68 65 20 63 75 72 72 65 6e 74  ke), the current
0fc0: 20 73 65 73 73 69 6f 6e 20 77 69 6c 6c 20 66 61   session will fa
0fd0: 69 6c 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  il to correctly 
0fe0: 70 65 72 66 6f 72 6d 20 74 68 65 20 65 78 70 65  perform the expe
0ff0: 63 74 65 64 20 66 69 6e 61 6c 20 63 6c 65 61 6e  cted final clean
1000: 75 70 2c 20 79 6f 75 72 20 53 51 4c 69 74 65 20  up, your SQLite 
1010: 64 61 74 61 62 61 73 65 20 77 69 6c 6c 20 72 65  database will re
1020: 6d 61 69 6e 20 69 6e 20 61 20 64 69 72 74 79 20  main in a dirty 
1030: 61 6e 64 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74  and inconsistent
1040: 20 73 74 61 74 65 2e 3c 62 72 3e 0d 0a 41 73 20   state.<br>..As 
1050: 74 68 65 20 73 69 64 65 20 66 69 67 75 72 65 20  the side figure 
1060: 73 68 6f 77 73 2c 20 77 68 65 6e 20 72 65 73 74  shows, when rest
1070: 61 72 74 69 6e 67 20 61 20 6e 65 77 20 73 65 73  arting a new ses
1080: 73 69 6f 6e 20 61 6c 6c 20 3c 62 3e 6f 72 70 68  sion all <b>orph
1090: 61 6e 65 64 20 56 69 72 74 75 61 6c 50 6f 73 74  aned VirtualPost
10a0: 67 72 65 73 20 74 61 62 6c 65 73 3c 2f 62 3e 20  gres tables</b> 
10b0: 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 6f 6d  will remain from
10c0: 20 61 6e 79 20 61 62 6f 72 74 65 64 20 73 65 73   any aborted ses
10d0: 73 69 6f 6e 28 73 29 2e 3c 62 72 3e 3c 62 72 3e  sion(s).<br><br>
10e0: 0d 0a 49 66 20 74 68 69 73 20 68 61 70 70 65 6e  ..If this happen
10f0: 73 2c 20 64 6f 6e 27 74 20 64 65 73 70 61 69 72  s, don't despair
1100: 3a 20 61 6c 6c 20 79 6f 75 20 6a 75 73 74 20 6e  : all you just n
1110: 65 65 64 20 74 6f 20 64 6f 20 69 73 20 74 6f 20  eed to do is to 
1120: 73 65 6c 65 63 74 20 74 68 65 20 61 70 70 72 6f  select the appro
1130: 70 72 69 61 74 65 20 69 74 65 6d 20 66 72 6f 6d  priate item from
1140: 20 74 68 65 20 50 6f 73 74 67 72 65 73 20 63 6f   the Postgres co
1150: 6e 74 65 78 74 20 6d 65 6e 75 20 61 6e 64 20 74  ntext menu and t
1160: 68 65 20 44 42 20 77 69 6c 6c 20 62 65 20 69 6d  he DB will be im
1170: 6d 65 64 69 61 74 65 6c 79 20 72 65 63 6f 76 65  mediately recove
1180: 72 65 64 20 74 6f 20 61 20 73 61 66 65 2c 20 63  red to a safe, c
1190: 6f 6e 73 69 73 74 65 6e 74 20 61 6e 64 20 63 6c  onsistent and cl
11a0: 65 61 6e 20 73 74 61 74 65 2e 3c 2f 74 64 3e 0d  ean state.</td>.
11b0: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68  .<td><img src="h
11c0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
11d0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
11e0: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6f 72  /gui-postgres/or
11f0: 70 68 61 6e 73 2e 70 6e 67 22 20 61 6c 74 3d 22  phans.png" alt="
1200: 6f 72 70 68 61 6e 20 74 61 62 6c 65 73 22 3e 3c  orphan tables"><
1210: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
1220: 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22  ><td colspan="2"
1230: 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e   align="center">
1240: 3c 68 33 3e 33 20 2d 20 4d 65 74 61 64 61 74 61  <h3>3 - Metadata
1250: 20 6f 66 20 50 6f 73 74 67 72 65 53 51 4c 20 6f   of PostgreSQL o
1260: 62 6a 65 63 74 73 3c 2f 68 33 3e 3c 68 72 3e 3c  bjects</h3><hr><
1270: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  /td></tr>..<tr>.
1280: 0a 3c 74 64 3e 3c 62 3e 33 2e 61 3c 2f 62 3e 20  .<td><b>3.a</b> 
1290: 79 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 71  you can easily q
12a0: 75 65 72 79 20 74 68 65 20 6d 65 74 61 64 61 74  uery the metadat
12b0: 61 20 66 6f 72 20 65 61 63 68 20 50 6f 73 74 67  a for each Postg
12c0: 72 65 73 20 6f 62 6a 65 63 74 3b 20 6a 75 73 74  res object; just
12d0: 20 73 65 6c 65 63 74 20 74 68 65 20 61 70 70 72   select the appr
12e0: 6f 70 72 69 61 74 65 20 69 74 65 6d 20 66 72 6f  opriate item fro
12f0: 6d 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6d 65  m the context me
1300: 6e 75 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69  nu.</td>..<td><i
1310: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
1320: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
1330: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f  gaia-sins/gui-po
1340: 73 74 67 72 65 73 2f 67 75 69 36 2e 70 6e 67 22  stgres/gui6.png"
1350: 20 61 6c 74 3d 22 6d 65 74 61 64 61 74 61 20 69   alt="metadata i
1360: 6e 66 6f 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  nfo"></td>..</tr
1370: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e  >..<tr>..<td><b>
1380: 33 2e 62 3c 2f 62 3e 20 4d 65 74 61 64 61 74 61  3.b</b> Metadata
1390: 20 66 6f 72 20 61 20 3c 62 3e 43 6f 6e 6e 65 63   for a <b>Connec
13a0: 74 69 6f 6e 3c 2f 62 3e 20 3c 69 3e 61 6b 61 3c  tion</b> <i>aka<
13b0: 2f 69 3e 20 3c 62 3e 44 61 74 61 62 61 73 65 3c  /i> <b>Database<
13c0: 2f 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20  /b> object will 
13d0: 72 65 70 6f 72 74 20 74 68 65 20 69 6e 69 74 69  report the initi
13e0: 61 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72  al connection ar
13f0: 67 75 6d 65 6e 74 73 2e 3c 62 72 3e 3c 62 72 3e  guments.<br><br>
1400: 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e  <br>..<hr>..<br>
1410: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62  <br>..<b>Note</b
1420: 3e 3a 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79  >: you can alway
1430: 73 20 63 6f 6e 6e 65 63 74 20 6d 6f 72 65 20 74  s connect more t
1440: 68 61 6e 20 6f 6e 65 20 50 6f 73 74 67 72 65 73  han one Postgres
1450: 20 44 61 74 61 62 61 73 65 20 69 6e 20 74 68 65   Database in the
1460: 20 73 61 6d 65 20 73 65 73 73 69 6f 6e 3b 20 68   same session; h
1470: 6f 77 65 76 65 72 20 63 6f 6e 6e 65 63 74 69 6e  owever connectin
1480: 67 20 74 68 65 20 73 61 6d 65 20 44 61 74 61 62  g the same Datab
1490: 61 73 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e  ase more than on
14a0: 63 65 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74  ce is not permit
14b0: 74 65 64 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c  ted.</td>..<td><
14c0: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f  img src="https:/
14d0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
14e0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70  /gaia-sins/gui-p
14f0: 6f 73 74 67 72 65 73 2f 67 75 69 37 2e 70 6e 67  ostgres/gui7.png
1500: 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f  " alt="connectio
1510: 6e 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64  n metadata"></td
1520: 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  >..</tr>..<tr>..
1530: 3c 74 64 3e 3c 62 3e 33 2e 63 3c 2f 62 3e 20 4d  <td><b>3.c</b> M
1540: 65 74 61 64 61 74 61 20 66 6f 72 20 61 20 3c 62  etadata for a <b
1550: 3e 53 63 68 65 6d 61 3c 2f 62 3e 20 6f 62 6a 65  >Schema</b> obje
1560: 63 74 20 61 72 65 6e 27 74 20 72 65 61 6c 6c 79  ct aren't really
1570: 20 69 6e 74 65 72 65 73 74 69 6e 67 2c 20 73 69   interesting, si
1580: 6e 63 65 20 6f 6e 6c 79 20 74 68 65 20 6e 61 6d  nce only the nam
1590: 65 20 77 69 6c 6c 20 62 65 20 73 68 6f 77 6e 2e  e will be shown.
15a0: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20  </td>..<td><img 
15b0: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
15c0: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
15d0: 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67  a-sins/gui-postg
15e0: 72 65 73 2f 67 75 69 38 2e 70 6e 67 22 20 61 6c  res/gui8.png" al
15f0: 74 3d 22 73 63 68 65 6d 61 20 6d 65 74 61 64 61  t="schema metada
1600: 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ta"></td>..</tr>
1610: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 33  ..<tr>..<td><b>3
1620: 2e 64 3c 2f 62 3e 20 4d 65 74 61 64 61 74 61 20  .d</b> Metadata 
1630: 66 6f 72 20 3c 62 3e 54 61 62 6c 65 3c 2f 62 3e  for <b>Table</b>
1640: 20 6f 72 20 3c 62 3e 56 69 65 77 3c 2f 62 3e 20   or <b>View</b> 
1650: 6f 62 6a 65 63 74 73 20 77 69 6c 6c 20 72 65 70  objects will rep
1660: 6f 72 74 20 61 6c 6c 20 3c 62 3e 47 52 41 4e 54  ort all <b>GRANT
1670: 20 70 65 72 6d 69 73 73 69 6f 6e 73 3c 2f 62 3e   permissions</b>
1680: 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74   for the current
1690: 20 55 73 65 72 2e 3c 62 72 3e 3c 62 72 3e 3c 62   User.<br><br><b
16a0: 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e 3c 62  r>..<hr>..<br><b
16b0: 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a  r>..<b>Note</b>:
16c0: 20 61 6c 73 6f 20 69 6e 20 74 68 65 20 63 61 73   also in the cas
16d0: 65 20 6f 66 20 61 20 3c 62 3e 52 45 41 44 2d 57  e of a <b>READ-W
16e0: 52 49 54 45 3c 2f 62 3e 20 65 6e 61 62 6c 65 64  RITE</b> enabled
16f0: 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 61 6c 6c   connection, all
1700: 20 50 6f 73 74 67 72 65 73 20 54 61 62 6c 65 73   Postgres Tables
1710: 20 6c 61 63 6b 69 6e 67 20 74 68 65 20 70 65 72   lacking the per
1720: 6d 69 73 73 69 6f 6e 20 74 6f 20 65 78 65 63 75  mission to execu
1730: 74 65 20 3c 62 3e 49 4e 53 45 52 54 3c 2f 62 3e  te <b>INSERT</b>
1740: 2c 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e 20  , <b>UPDATE</b> 
1750: 6f 72 20 3c 62 3e 44 45 4c 45 54 45 3c 2f 62 3e  or <b>DELETE</b>
1760: 20 73 74 61 74 65 6d 65 6e 74 73 20 77 69 6c 6c   statements will
1770: 20 62 65 20 61 6c 77 61 79 73 20 63 6f 6e 73 69   be always consi
1780: 64 65 72 65 64 20 74 6f 20 62 65 20 3c 62 3e 52  dered to be <b>R
1790: 45 41 44 2d 4f 4e 4c 59 3c 2f 62 3e 2e 3c 62 72  EAD-ONLY</b>.<br
17a0: 3e 0d 0a 45 78 61 63 74 6c 79 20 61 73 20 61 6e  >..Exactly as an
17b0: 79 20 6f 74 68 65 72 20 54 61 62 6c 65 20 77 68  y other Table wh
17c0: 65 72 65 20 6e 6f 20 3c 62 3e 50 52 49 4d 41 52  ere no <b>PRIMAR
17d0: 59 20 4b 45 59 3c 2f 62 3e 20 68 61 73 20 62 65  Y KEY</b> has be
17e0: 65 6e 20 64 65 66 69 6e 65 64 2e 3c 2f 74 64 3e  en defined.</td>
17f0: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22  ..<td><img src="
1800: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
1810: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
1820: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67  s/gui-postgres/g
1830: 75 69 39 2e 70 6e 67 22 20 61 6c 74 3d 22 74 61  ui9.png" alt="ta
1840: 62 6c 65 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f  ble metadata"></
1850: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
1860: 0d 0a 3c 74 64 3e 3c 62 3e 33 2e 65 3c 2f 62 3e  ..<td><b>3.e</b>
1870: 20 4d 65 74 61 64 61 74 61 20 66 6f 72 20 61 20   Metadata for a 
1880: 3c 62 3e 50 6f 73 74 47 49 53 20 54 61 62 6c 65  <b>PostGIS Table
1890: 3c 2f 62 3e 20 6f 62 6a 65 63 74 73 20 77 69 6c  </b> objects wil
18a0: 6c 20 72 65 70 6f 72 74 20 61 20 66 75 6c 6c 20  l report a full 
18b0: 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 20 6f 66  qualification of
18c0: 20 74 68 65 20 3c 62 3e 47 45 4f 4d 45 54 52 59   the <b>GEOMETRY
18d0: 3c 2f 62 3e 20 63 6f 6c 75 6d 6e 28 73 29 2c 20  </b> column(s), 
18e0: 74 68 69 73 20 69 6e 63 6c 75 64 69 6e 67 20 74  this including t
18f0: 68 65 20 47 65 6f 6d 65 74 72 79 54 79 70 65 2c  he GeometryType,
1900: 20 74 68 65 20 53 72 69 64 20 61 6e 64 20 74 68   the Srid and th
1910: 65 20 43 6f 6f 72 64 69 6e 61 74 65 44 69 6d 65  e CoordinateDime
1920: 6e 73 69 6f 6e 73 2e 3c 2f 74 64 3e 0d 0a 3c 74  nsions.</td>..<t
1930: 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  d><img src="http
1940: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
1950: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75  .it/gaia-sins/gu
1960: 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 31 30  i-postgres/gui10
1970: 2e 70 6e 67 22 20 61 6c 74 3d 22 70 6f 73 74 67  .png" alt="postg
1980: 69 73 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74  is metadata"></t
1990: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
19a0: 0a 3c 74 64 3e 3c 62 3e 33 2e 66 3c 2f 62 3e 20  .<td><b>3.f</b> 
19b0: 61 6c 6c 20 3c 62 3e 50 6f 73 74 47 49 53 20 54  all <b>PostGIS T
19c0: 61 62 6c 65 73 3c 2f 62 3e 20 77 69 6c 6c 20 61  ables</b> will a
19d0: 6c 77 61 79 73 20 68 61 76 65 20 61 20 3c 62 3e  lways have a <b>
19e0: 63 6f 6d 70 61 6e 69 6f 6e 20 54 61 62 6c 65 3c  companion Table<
19f0: 2f 62 3e 20 73 68 61 72 69 6e 67 20 74 68 65 20  /b> sharing the 
1a00: 73 61 6d 65 20 69 64 65 6e 74 69 63 61 6c 20 6e  same identical n
1a10: 61 6d 65 20 65 78 63 65 70 74 20 66 6f 72 20 74  ame except for t
1a20: 68 65 20 3c 62 3e 5f 70 6f 73 74 67 69 73 3c 2f  he <b>_postgis</
1a30: 62 3e 20 73 75 66 66 69 78 2e 3c 62 72 3e 3c 62  b> suffix.<br><b
1a40: 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c  r><br>..<b>Note<
1a50: 2f 62 3e 3a 20 74 68 65 73 65 20 61 72 65 20 6e  /b>: these are n
1a60: 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20  ot the original 
1a70: 3c 62 3e 56 69 72 74 75 61 6c 50 6f 73 74 67 72  <b>VirtualPostgr
1a80: 65 73 20 54 61 62 6c 65 73 3c 2f 62 3e 20 77 69  es Tables</b> wi
1a90: 63 68 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6f  ch contain the o
1aa0: 72 69 67 69 6e 61 6c 20 50 6f 73 74 67 72 65 73  riginal Postgres
1ab0: 20 62 69 6e 61 72 79 20 66 6f 72 6d 61 74 3b 20   binary format; 
1ac0: 74 68 65 79 20 61 72 65 20 69 6e 73 74 65 61 64  they are instead
1ad0: 20 53 70 61 74 69 61 6c 69 74 65 27 73 20 6f 77   Spatialite's ow
1ae0: 6e 20 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65  n <b>Spatial Vie
1af0: 77 73 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69 6e  ws</b> containin
1b00: 67 20 53 70 61 74 69 61 6c 69 74 65 20 62 69 6e  g Spatialite bin
1b10: 61 72 79 20 47 65 6f 6d 65 74 72 69 65 73 2e 20  ary Geometries. 
1b20: 54 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 62  The conversion b
1b30: 65 74 77 65 65 6e 20 74 68 65 20 74 77 6f 20 66  etween the two f
1b40: 6f 72 6d 61 74 73 20 61 72 65 20 64 6f 6e 65 20  ormats are done 
1b50: 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e  in the backgroun
1b60: 64 20 61 6e 64 20 74 68 75 73 2c 20 66 6f 72 20  d and thus, for 
1b70: 74 68 65 20 75 73 65 72 2c 20 69 6e 20 61 20 63  the user, in a c
1b80: 6f 6d 70 6c 65 61 74 6c 79 20 74 72 61 6e 73 70  ompleatly transp
1b90: 61 72 65 6e 74 20 77 61 79 2e 3c 2f 74 64 3e 0d  arent way.</td>.
1ba0: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68  .<td><img src="h
1bb0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
1bc0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
1bd0: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75  /gui-postgres/gu
1be0: 69 31 31 2e 70 6e 67 22 20 61 6c 74 3d 22 70 6f  i11.png" alt="po
1bf0: 73 74 67 69 73 20 77 72 61 70 70 65 72 20 6d 65  stgis wrapper me
1c00: 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c  tadata"></td>..<
1c10: 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f  /tr>..<tr><td co
1c20: 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d  lspan="2" align=
1c30: 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 34 20 2d  "center"><h3>4 -
1c40: 20 48 61 6e 64 6c 69 6e 67 20 50 6f 73 74 67 72   Handling Postgr
1c50: 65 53 51 4c 20 54 61 62 6c 65 73 20 61 6e 64 20  eSQL Tables and 
1c60: 56 69 65 77 73 3c 2f 68 33 3e 3c 68 72 3e 3c 2f  Views</h3><hr></
1c70: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  td></tr>..<tr>..
1c80: 3c 74 64 3e 3c 62 3e 34 2e 61 3c 2f 62 3e 20 50  <td><b>4.a</b> P
1c90: 6f 73 74 67 72 65 53 51 4c 20 54 61 62 6c 65 73  ostgreSQL Tables
1ca0: 20 61 6e 64 20 56 69 65 77 73 20 61 72 65 20 63   and Views are c
1cb0: 6f 6e 73 69 64 65 72 65 64 2c 20 61 73 20 66 61  onsidered, as fa
1cc0: 72 20 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 61  r as possible, a
1cd0: 73 20 69 66 20 74 68 65 79 20 77 65 72 65 20 6e  s if they were n
1ce0: 61 74 69 76 65 20 53 51 4c 69 74 65 20 6f 62 6a  ative SQLite obj
1cf0: 65 63 74 73 2e 3c 62 72 3e 0d 0a 53 6f 20 74 68  ects.<br>..So th
1d00: 65 20 75 73 75 61 6c 20 6f 70 65 72 61 74 69 6f  e usual operatio
1d10: 6e 73 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20  ns supported on 
1d20: 53 51 4c 69 74 65 27 73 20 6f 77 6e 20 6f 62 6a  SQLite's own obj
1d30: 65 63 74 73 20 77 69 6c 6c 20 62 65 20 73 75 70  ects will be sup
1d40: 70 6f 72 74 65 64 20 61 6c 73 6f 20 69 6e 20 74  ported also in t
1d50: 68 65 20 63 61 73 65 20 6f 66 20 50 6f 73 74 67  he case of Postg
1d60: 72 65 53 51 4c 20 6f 62 6a 65 63 74 73 2e 3c 2f  reSQL objects.</
1d70: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
1d80: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
1d90: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
1da0: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65  sins/gui-postgre
1db0: 73 2f 67 75 69 31 32 2e 70 6e 67 22 20 61 6c 74  s/gui12.png" alt
1dc0: 3d 22 74 61 62 6c 65 20 6f 70 65 72 61 74 69 6f  ="table operatio
1dd0: 6e 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ns"></td>..</tr>
1de0: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34  ..<tr>..<td><b>4
1df0: 2e 62 3c 2f 62 3e 20 74 68 65 20 61 62 6f 76 65  .b</b> the above
1e00: 20 63 72 69 74 65 72 69 61 20 77 69 6c 6c 20 61   criteria will a
1e10: 70 70 6c 79 20 61 6c 73 6f 20 74 6f 20 50 6f 73  pply also to Pos
1e20: 74 47 49 53 20 47 65 6f 6d 65 74 72 69 65 73 2e  tGIS Geometries.
1e30: 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62  <br><br><br>..<b
1e40: 3e 48 69 6e 74 3c 2f 62 3e 3a 20 65 78 70 6f 72  >Hint</b>: expor
1e50: 74 69 6e 67 20 61 20 66 75 6c 6c 20 53 68 61 70  ting a full Shap
1e60: 65 66 69 6c 65 20 66 72 6f 6d 20 61 20 50 6f 73  efile from a Pos
1e70: 74 47 49 53 20 47 65 6f 6d 65 74 72 79 20 77 61  tGIS Geometry wa
1e80: 73 20 6e 65 76 65 72 20 6d 6f 72 65 20 64 69 72  s never more dir
1e90: 65 63 74 20 61 6e 64 20 73 69 6d 70 6c 65 20 74  ect and simple t
1ea0: 68 61 6e 20 74 68 69 73 2e 3c 2f 74 64 3e 0d 0a  han this.</td>..
1eb0: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
1ec0: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
1ed0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
1ee0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69  gui-postgres/gui
1ef0: 31 33 2e 70 6e 67 22 20 61 6c 74 3d 22 67 65 6f  13.png" alt="geo
1f00: 6d 65 74 72 79 20 6f 70 65 72 61 74 69 6f 6e 73  metry operations
1f10: 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  "></td>..</tr>..
1f20: 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 63  <tr>..<td><b>4.c
1f30: 3c 2f 62 3e 20 62 65 20 77 61 72 6e 65 64 3b 20  </b> be warned; 
1f40: 64 69 72 65 63 74 6c 79 20 71 75 65 72 79 69 6e  directly queryin
1f50: 67 20 61 20 3c 62 3e 50 6f 73 74 47 49 53 20 54  g a <b>PostGIS T
1f60: 61 62 6c 65 3c 2f 62 3e 20 28 69 2e 65 2e 20 61  able</b> (i.e. a
1f70: 20 56 69 72 74 75 61 6c 50 6f 73 74 67 72 65 73   VirtualPostgres
1f80: 20 54 61 62 6c 65 20 63 6f 6e 74 61 69 6e 69 6e   Table containin
1f90: 67 20 50 6f 73 74 47 49 53 20 47 65 6f 6d 65 74  g PostGIS Geomet
1fa0: 72 69 65 73 29 20 6e 65 76 65 72 20 69 73 20 61  ries) never is a
1fb0: 20 67 6f 6f 64 20 69 64 65 61 2e 0d 0a 59 6f 75   good idea...You
1fc0: 27 6c 6c 20 62 65 20 61 6c 77 61 79 73 20 61 73  'll be always as
1fd0: 6b 65 64 20 74 77 69 63 65 20 62 65 66 6f 72 65  ked twice before
1fe0: 20 73 74 61 72 74 69 6e 67 20 73 75 63 68 20 61   starting such a
1ff0: 20 73 74 75 70 69 64 20 28 61 6e 64 20 70 6f 74   stupid (and pot
2000: 65 6e 74 69 61 6c 6c 79 20 64 61 6e 67 65 72 6f  entially dangero
2010: 75 73 29 20 61 63 74 69 6f 6e 2e 3c 2f 74 64 3e  us) action.</td>
2020: 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22  ..<td><img src="
2030: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
2040: 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e  -gis.it/gaia-sin
2050: 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67  s/gui-postgres/g
2060: 75 69 31 37 2e 70 6e 67 22 20 61 6c 74 3d 22 64  ui17.png" alt="d
2070: 69 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 75  irect postgis qu
2080: 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ery"></td>..</tr
2090: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e  >..<tr>..<td><b>
20a0: 34 2e 64 3c 2f 62 3e 20 74 68 65 20 72 65 61 73  4.d</b> the reas
20b0: 6f 6e 20 66 6f 72 20 73 75 63 68 20 61 20 62 65  on for such a be
20c0: 68 61 76 69 6f 75 72 20 69 73 20 63 6c 65 61 72  haviour is clear
20d0: 6c 79 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20  ly shown in the 
20e0: 73 69 64 65 20 66 69 67 75 72 65 2e 3c 62 72 3e  side figure.<br>
20f0: 0d 0a 41 20 56 69 72 74 75 61 6c 50 6f 73 74 67  ..A VirtualPostg
2100: 72 65 73 20 54 61 62 6c 65 20 77 69 6c 6c 20 65  res Table will e
2110: 78 70 6f 73 65 20 61 6c 6c 20 47 65 6f 6d 65 74  xpose all Geomet
2120: 72 69 65 73 20 61 73 20 3c 62 3e 45 57 4b 42 20  ries as <b>EWKB 
2130: 74 65 78 74 20 73 74 72 69 6e 67 73 3c 2f 62 3e  text strings</b>
2140: 20 75 73 69 6e 67 20 61 6e 20 68 65 78 61 64 65   using an hexade
2150: 63 69 6d 61 6c 20 6e 6f 74 61 74 69 6f 6e 3b 20  cimal notation; 
2160: 69 6e 20 74 68 69 73 20 63 61 73 65 20 77 65 20  in this case we 
2170: 68 61 76 65 20 73 69 6d 70 6c 65 20 50 4f 49 4e  have simple POIN
2180: 54 53 2c 20 61 6e 64 20 74 68 65 20 45 57 4b 42  TS, and the EWKB
2190: 20 73 74 72 69 6e 67 73 20 61 72 65 20 72 65 61   strings are rea
21a0: 73 6f 6e 61 62 6c 79 20 63 6f 6d 70 61 63 74 2e  sonably compact.
21b0: 3c 62 72 3e 0d 0a 42 75 74 20 75 6e 68 61 70 70  <br>..But unhapp
21c0: 69 6c 79 20 63 6f 6d 70 6c 65 78 20 4c 49 4e 45  ily complex LINE
21d0: 53 54 52 49 4e 47 20 6f 72 20 50 4f 4c 59 47 4f  STRING or POLYGO
21e0: 4e 20 47 65 6f 6d 65 74 72 69 65 73 20 6d 61 79  N Geometries may
21f0: 20 65 61 73 69 6c 79 20 72 65 71 75 69 72 65 20   easily require 
2200: 73 65 76 65 72 61 6c 20 6d 69 6c 6c 69 6f 6e 20  several million 
2210: 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 20  characters, and 
2220: 74 68 69 73 20 77 69 6c 6c 20 65 61 73 69 6c 79  this will easily
2230: 20 6f 76 65 72 20 73 74 72 65 73 73 20 74 68 65   over stress the
2240: 20 47 55 49 2e 3c 62 72 3e 0d 0a 54 68 65 20 65   GUI.<br>..The e
2250: 78 65 63 75 74 69 6f 6e 20 73 70 65 65 64 20 6f  xecution speed o
2260: 66 20 73 75 63 68 20 61 20 71 75 65 72 79 20 77  f such a query w
2270: 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79 20 62 65  ill certainly be
2280: 20 76 65 72 79 20 73 6c 75 67 67 69 73 68 2c 20   very sluggish, 
2290: 61 6e 64 20 73 6f 6d 65 20 69 6e 73 74 61 62 69  and some instabi
22a0: 6c 69 74 79 20 74 72 6f 75 62 6c 65 20 63 6f 75  lity trouble cou
22b0: 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 61 72  ld eventually ar
22c0: 69 73 65 2e 3c 62 72 3e 3c 62 72 3e 3c 62 72 3e  ise.<br><br><br>
22d0: 0d 0a 3c 62 3e 53 68 6f 72 74 20 63 6f 6e 63 6c  ..<b>Short concl
22e0: 75 73 69 6f 6e 3c 2f 62 3e 3a 20 6e 65 76 65 72  usion</b>: never
22f0: 20 65 76 65 72 20 61 74 74 65 6d 70 74 20 74 6f   ever attempt to
2300: 20 64 69 72 65 63 74 6c 79 20 71 75 65 72 79 20   directly query 
2310: 61 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65 20  a PostGIS Table 
2320: 21 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67  !</td>..<td><img
2330: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
2340: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
2350: 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74  ia-sins/gui-post
2360: 67 72 65 73 2f 67 75 69 31 35 2e 70 6e 67 22 20  gres/gui15.png" 
2370: 61 6c 74 3d 22 64 69 72 65 63 74 20 70 6f 73 74  alt="direct post
2380: 67 69 73 20 71 75 65 72 79 22 3e 3c 2f 74 64 3e  gis query"></td>
2390: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
23a0: 74 64 3e 3c 62 3e 34 2e 65 3c 2f 62 3e 20 61 20  td><b>4.e</b> a 
23b0: 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69 61  companion Spatia
23c0: 6c 20 56 69 65 77 20 69 73 20 61 6c 77 61 79 73  l View is always
23d0: 20 64 65 66 69 6e 65 64 20 66 6f 72 20 65 76 65   defined for eve
23e0: 72 79 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65  ry PostGIS Table
23f0: 2c 20 61 6e 64 20 69 73 20 73 70 65 63 69 66 69  , and is specifi
2400: 63 61 6c 6c 79 20 69 6e 74 65 6e 64 65 64 20 74  cally intended t
2410: 6f 20 73 75 70 70 6f 72 74 20 73 61 66 65 20 61  o support safe a
2420: 6e 64 20 74 72 6f 75 62 6c 65 20 66 72 65 65 20  nd trouble free 
2430: 71 75 65 72 69 65 73 2e 3c 62 72 3e 0d 0a 54 68  queries.<br>..Th
2440: 61 74 27 73 20 6e 6f 74 20 6f 6e 6c 79 3a 20 74  at's not only: t
2450: 68 65 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61  he companion Spa
2460: 74 69 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 74  tial View will t
2470: 61 6b 65 20 63 61 72 65 20 74 6f 20 73 69 6c 65  ake care to sile
2480: 6e 74 6c 79 20 63 6f 6e 76 65 72 74 20 62 69 6e  ntly convert bin
2490: 61 72 79 20 47 65 6f 6d 65 74 72 69 65 73 20 74  ary Geometries t
24a0: 6f 20 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 75  o and from the u
24b0: 73 75 61 6c 20 53 70 61 74 69 61 4c 69 74 65 27  sual SpatiaLite'
24c0: 73 20 6f 77 6e 20 66 6f 72 6d 61 74 2c 20 74 68  s own format, th
24d0: 75 73 20 67 72 65 61 74 6c 79 20 73 69 6d 70 6c  us greatly simpl
24e0: 69 66 79 69 6e 67 20 74 68 65 20 65 76 65 6e 74  ifying the event
24f0: 75 61 6c 20 77 72 69 74 69 6e 67 20 6f 66 20 63  ual writing of c
2500: 75 73 74 6f 6d 69 7a 65 64 20 53 51 4c 20 71 75  ustomized SQL qu
2510: 65 72 69 65 73 20 75 73 69 6e 67 20 53 70 61 74  eries using Spat
2520: 69 61 6c 20 46 75 6e 63 74 69 6f 6e 73 2e 3c 2f  ial Functions.</
2530: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
2540: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
2550: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
2560: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65  sins/gui-postgre
2570: 73 2f 67 75 69 31 36 2e 70 6e 67 22 20 61 6c 74  s/gui16.png" alt
2580: 3d 22 69 6e 64 69 72 65 63 74 20 70 6f 73 74 67  ="indirect postg
2590: 69 73 20 71 75 65 72 79 22 3e 3c 2f 74 64 3e 0d  is query"></td>.
25a0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
25b0: 64 3e 3c 62 3e 34 2e 66 3c 2f 62 3e 20 74 68 65  d><b>4.f</b> the
25c0: 20 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69   companion Spati
25d0: 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 61 6c 77  al View will alw
25e0: 61 79 73 20 62 65 20 61 20 3c 62 3e 57 72 69 74  ays be a <b>Writ
25f0: 61 62 6c 65 20 56 69 65 77 3c 2f 62 3e 20 69 66  able View</b> if
2600: 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69   the correspondi
2610: 6e 67 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65  ng PostGIS Table
2620: 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 6c   is appropriatel
2630: 79 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 69 66  y enabled and if
2640: 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20   the connection 
2650: 73 75 70 70 6f 72 74 73 20 52 45 41 44 2d 57 52  supports READ-WR
2660: 49 54 45 20 6f 70 65 72 61 74 69 6f 6e 73 2e 3c  ITE operations.<
2670: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e  br><br><br>..<b>
2680: 4e 6f 74 65 3c 2f 62 3e 3a 20 61 70 70 72 6f 70  Note</b>: approp
2690: 72 69 61 74 65 20 54 72 69 67 67 65 72 73 20 77  riate Triggers w
26a0: 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74 69 63  ill be automatic
26b0: 61 6c 6c 79 20 64 65 66 69 6e 65 64 20 73 6f 20  ally defined so 
26c0: 74 6f 20 6c 65 74 20 74 68 65 20 53 70 61 74 69  to let the Spati
26d0: 61 6c 20 56 69 65 77 20 74 6f 20 62 65 63 6f 6d  al View to becom
26e0: 65 20 61 20 57 72 69 74 61 62 6c 65 20 56 69 65  e a Writable Vie
26f0: 77 20 66 75 6c 6c 79 20 73 75 70 70 6f 72 74 69  w fully supporti
2700: 6e 67 20 3c 62 3e 49 4e 53 45 52 54 3c 2f 62 3e  ng <b>INSERT</b>
2710: 2c 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62 3e 20  , <b>UPDATE</b> 
2720: 61 6e 64 20 3c 62 3e 44 45 4c 45 54 45 3c 2f 62  and <b>DELETE</b
2730: 3e 20 6f 70 65 72 61 74 69 6f 6e 73 2e 3c 2f 74  > operations.</t
2740: 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63  d>..<td><img src
2750: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
2760: 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73  ia-gis.it/gaia-s
2770: 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73  ins/gui-postgres
2780: 2f 67 75 69 31 34 2e 70 6e 67 22 20 61 6c 74 3d  /gui14.png" alt=
2790: 22 70 6f 73 74 67 69 73 20 65 64 69 74 69 6e 67  "postgis editing
27a0: 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a  "></td>..</tr>..
27b0: 3c 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d  <tr><td colspan=
27c0: 22 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65  "2" align="cente
27d0: 72 22 3e 3c 68 33 3e 3c 61 20 6e 61 6d 65 3d 22  r"><h3><a name="
27e0: 61 64 64 65 6e 64 75 6d 22 3e 41 64 64 65 6e 64  addendum">Addend
27f0: 75 6d 3c 2f 61 3e 3a 20 73 70 65 63 69 61 6c 20  um</a>: special 
2800: 6e 6f 74 65 20 66 6f 72 20 57 69 6e 64 6f 77 73  note for Windows
2810: 20 75 73 65 72 73 3c 2f 68 33 3e 3c 68 72 3e 3c   users</h3><hr><
2820: 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c  /td></tr>..<tr><
2830: 74 64 20 63 6f 6c 73 70 61 6e 20 3d 20 22 32 22  td colspan = "2"
2840: 3e 0d 0a 41 6c 6c 20 70 72 65 76 69 6f 75 73 20  >..All previous 
2850: 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20  versions of the 
2860: 47 55 49 20 62 69 6e 61 72 69 65 73 20 72 65 6c  GUI binaries rel
2870: 65 61 73 65 64 20 69 6e 20 74 68 65 20 70 61 73  eased in the pas
2880: 74 20 77 65 72 65 20 61 6c 77 61 79 73 20 62 61  t were always ba
2890: 73 65 64 20 6f 6e 20 61 20 73 69 6e 67 6c 65 20  sed on a single 
28a0: 6d 6f 6e 6f 6c 69 74 68 69 63 20 3c 62 3e 2e 65  monolithic <b>.e
28b0: 78 65 3c 2f 62 3e 20 66 75 6c 6c 79 20 64 65 70  xe</b> fully dep
28c0: 65 6e 64 69 6e 67 20 6f 6e 20 73 74 61 74 69 63  ending on static
28d0: 20 6c 69 6e 6b 61 67 65 20 61 6e 64 20 6e 6f 74   linkage and not
28e0: 20 72 65 71 75 69 72 69 6e 67 20 61 6e 79 20 44   requiring any D
28f0: 4c 4c 20 61 74 20 61 6c 6c 2e 3c 62 72 3e 3c 62  LL at all.<br><b
2900: 72 3e 0d 0a 55 6e 68 61 70 70 69 6c 79 20 74 68  r>..Unhappily th
2910: 69 73 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20  is is no longer 
2920: 70 6f 73 73 69 62 6c 65 2c 20 62 65 63 61 75 73  possible, becaus
2930: 65 20 3c 62 3e 6c 69 62 70 71 3c 2f 62 3e 20 28  e <b>libpq</b> (
2940: 3c 69 3e 74 68 65 20 50 6f 73 74 67 72 65 53 51  <i>the PostgreSQ
2950: 4c 20 6f 77 6e 20 63 6c 69 65 6e 74 20 6c 69 62  L own client lib
2960: 72 61 72 79 3c 2f 69 3e 29 20 69 73 20 75 6e 69  rary</i>) is uni
2970: 71 75 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 20  quely available 
2980: 61 73 20 61 20 44 4c 4c 20 6f 6e 20 57 69 6e 64  as a DLL on Wind
2990: 6f 77 73 2c 20 61 6e 64 20 74 68 65 72 65 20 69  ows, and there i
29a0: 73 20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 6f 20  s absolutely no 
29b0: 77 61 79 20 74 6f 20 62 75 69 6c 64 20 61 20 63  way to build a c
29c0: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 61  orresponding sta
29d0: 74 69 63 20 6c 69 62 72 61 72 79 2e 3c 62 72 3e  tic library.<br>
29e0: 0d 0a 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79  ..More precisely
29f0: 3a 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61  : a static libra
2a00: 72 79 20 69 73 20 61 63 74 75 61 6c 6c 79 20 62  ry is actually b
2a10: 75 69 6c 74 20 77 68 65 6e 20 63 6f 6d 70 69 6c  uilt when compil
2a20: 69 6e 67 20 50 6f 73 74 67 72 65 53 51 4c 2c 20  ing PostgreSQL, 
2a30: 62 75 74 20 6f 6e 20 57 69 6e 64 6f 77 73 20 69  but on Windows i
2a40: 74 20 73 69 6d 70 6c 79 20 69 73 20 61 20 73 74  t simply is a st
2a50: 75 62 20 73 74 69 6c 6c 20 72 65 71 75 69 72 69  ub still requiri
2a60: 6e 67 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 44  ng to load the D
2a70: 4c 4c 20 61 74 20 72 75 6e 20 74 69 6d 65 2e 3c  LL at run time.<
2a80: 62 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 41 6c 6c  br><br><br>..All
2a90: 20 74 68 69 73 20 63 6f 6e 73 69 64 65 72 65 64   this considered
2aa0: 2c 20 6e 6f 77 20 3c 62 3e 73 70 61 74 69 61 6c  , now <b>spatial
2ab0: 69 74 65 5f 67 75 69 2e 65 78 65 3c 2f 62 3e 20  ite_gui.exe</b> 
2ac0: 69 73 20 6b 69 6e 64 20 6f 66 20 61 6e 20 68 79  is kind of an hy
2ad0: 62 72 69 64 3b 20 69 74 20 6d 6f 73 74 6c 79 20  brid; it mostly 
2ae0: 64 65 70 65 6e 64 73 20 6f 6e 20 73 74 61 74 69  depends on stati
2af0: 63 20 6c 69 6e 6b 61 67 65 2c 20 65 78 63 65 70  c linkage, excep
2b00: 74 20 74 68 61 6e 20 66 6f 72 20 3c 62 3e 6c 69  t than for <b>li
2b10: 62 70 71 2e 64 6c 6c 3c 2f 62 3e 2e 3c 62 72 3e  bpq.dll</b>.<br>
2b20: 0d 0a 53 6f 20 61 20 72 65 61 73 6f 6e 61 62 6c  ..So a reasonabl
2b30: 65 20 63 6f 6d 70 72 6f 6d 69 73 65 20 68 61 73  e compromise has
2b40: 20 62 65 65 6e 20 61 64 6f 70 74 65 64 20 69 6e   been adopted in
2b50: 20 6f 72 64 65 72 20 74 6f 20 6d 69 74 69 67 61   order to mitiga
2b60: 74 65 20 74 68 65 20 6e 65 67 61 74 69 76 65 20  te the negative 
2b70: 69 6d 70 61 63 74 20 6f 66 20 73 75 63 68 20 61  impact of such a
2b80: 6e 20 6f 64 64 20 6c 61 79 6f 75 74 3a 0d 0a 3c  n odd layout:..<
2b90: 75 6c 3e 0d 0a 3c 6c 69 3e 74 68 65 20 62 69 6e  ul>..<li>the bin
2ba0: 61 72 69 65 73 20 66 6f 72 20 57 69 6e 64 6f 77  aries for Window
2bb0: 73 20 70 6c 61 74 66 6f 72 6d 73 20 77 69 6c 6c  s platforms will
2bc0: 20 62 65 20 62 75 69 6c 74 20 69 6e 20 73 75 63   be built in suc
2bd0: 68 20 61 20 77 61 79 20 74 68 61 74 20 3c 62 3e  h a way that <b>
2be0: 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 77 69  libpq.dll</b> wi
2bf0: 6c 6c 20 73 75 70 70 6f 72 74 20 77 68 61 74 20  ll support what 
2c00: 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 6b 6e 6f  is generally kno
2c10: 77 6e 20 61 73 20 3c 62 3e 6c 61 74 65 20 62 69  wn as <b>late bi
2c20: 6e 64 69 6e 67 3c 2f 62 3e 20 61 6b 61 20 3c 62  nding</b> aka <b
2c30: 3e 64 65 66 65 72 72 65 64 20 62 69 6e 64 69 6e  >deferred bindin
2c40: 67 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69  g</b>.</li>..<li
2c50: 3e 74 68 69 73 20 77 61 79 20 74 68 65 20 6d 61  >this way the ma
2c60: 69 6e 20 63 6f 72 65 20 6f 66 20 74 68 65 20 47  in core of the G
2c70: 55 49 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65  UI will continue
2c80: 20 74 6f 20 6e 69 63 65 6c 79 20 77 6f 72 6b 20   to nicely work 
2c90: 65 76 65 6e 20 77 68 65 6e 20 3c 62 3e 6c 69 62  even when <b>lib
2ca0: 70 71 2e 64 6c 6c 3c 2f 62 3e 20 68 61 73 6e 27  pq.dll</b> hasn'
2cb0: 74 20 79 65 74 20 62 65 65 6e 20 6c 6f 61 64 65  t yet been loade
2cc0: 64 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 3c 62 3e  d.</li>..<li><b>
2cd0: 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 20 77 69  libpq.dll</b> wi
2ce0: 6c 6c 20 62 65 20 61 63 74 75 61 6c 6c 79 20 6c  ll be actually l
2cf0: 6f 61 64 65 64 20 6f 6e 6c 79 20 77 68 65 6e 20  oaded only when 
2d00: 73 74 72 69 63 74 6c 79 20 6e 65 65 64 65 64 2c  strictly needed,
2d10: 20 69 2e 65 2e 20 77 68 65 6e 20 74 68 65 20 75   i.e. when the u
2d20: 73 65 72 20 72 65 71 75 69 72 65 73 20 74 6f 20  ser requires to 
2d30: 65 73 74 61 62 6c 69 73 68 20 61 20 50 6f 73 74  establish a Post
2d40: 67 72 65 53 51 4c 20 63 6f 6e 6e 65 63 74 69 6f  greSQL connectio
2d50: 6e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e 69 66 20  n.</li>..<li>if 
2d60: 74 68 65 20 44 4c 4c 20 66 61 69 6c 73 20 74 6f  the DLL fails to
2d70: 20 62 65 20 6c 6f 61 64 65 64 20 66 6f 72 20 61   be loaded for a
2d80: 6e 79 20 72 65 61 73 6f 6e 2c 20 74 68 65 6e 20  ny reason, then 
2d90: 74 68 65 20 47 55 49 20 77 69 6c 6c 20 63 6f 6e  the GUI will con
2da0: 74 69 6e 75 65 20 75 6e 61 66 66 65 63 74 65 64  tinue unaffected
2db0: 2c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 61  , except for tha
2dc0: 74 20 74 68 65 20 50 6f 73 74 67 72 65 53 51 4c  t the PostgreSQL
2dd0: 20 73 75 70 70 6f 72 74 20 77 69 6c 6c 20 63 6f   support will co
2de0: 6e 74 69 6e 75 65 20 74 6f 20 62 65 20 6b 65 70  ntinue to be kep
2df0: 74 20 64 69 73 61 62 6c 65 64 2e 3c 2f 6c 69 3e  t disabled.</li>
2e00: 0d 0a 3c 2f 75 6c 3e 0d 0a 3c 2f 74 64 3e 3c 2f  ..</ul>..</td></
2e10: 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c  tr>..<tr><td col
2e20: 73 70 61 6e 3d 22 32 22 20 61 6c 69 67 6e 3d 22  span="2" align="
2e30: 63 65 6e 74 65 72 22 3e 3c 68 33 3e 48 6f 77 20  center"><h3>How 
2e40: 69 74 20 70 72 61 63 74 69 63 61 6c 6c 79 20 77  it practically w
2e50: 6f 72 6b 73 3c 2f 68 33 3c 2f 74 64 3e 3c 2f 74  orks</h3</td></t
2e60: 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62  r>..<tr>..<td><b
2e70: 3e 41 2e 31 3c 2f 62 3e 20 77 68 65 6e 20 72 65  >A.1</b> when re
2e80: 71 75 69 72 65 64 20 74 6f 20 61 63 63 65 73 73  quired to access
2e90: 20 50 6f 73 74 67 72 65 53 51 4c 20 66 6f 72 20   PostgreSQL for 
2ea0: 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 2c 20  the first time, 
2eb0: 74 68 65 20 47 55 49 20 77 69 6c 6c 20 61 63 74  the GUI will act
2ec0: 75 61 6c 6c 79 20 61 74 74 65 6d 70 74 20 74 6f  ually attempt to
2ed0: 20 6c 6f 61 64 20 3c 62 3e 6c 69 62 70 71 2e 64   load <b>libpq.d
2ee0: 6c 6c 3c 2f 62 3e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  ll</b>:..<ul>..<
2ef0: 6c 69 3e 61 20 66 69 72 73 74 20 61 75 74 6f 6d  li>a first autom
2f00: 61 74 69 63 20 61 74 74 65 6d 70 74 20 77 69 6c  atic attempt wil
2f10: 6c 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 61  l be performed a
2f20: 63 63 6f 72 64 69 6e 67 6c 79 20 74 6f 20 74 68  ccordingly to th
2f30: 65 20 73 74 61 6e 64 61 72 64 20 70 6c 61 74 66  e standard platf
2f40: 6f 72 6d 20 72 75 6c 65 73 2e 3c 62 72 3e 0d 0a  orm rules.<br>..
2f50: 3c 62 3e 48 69 6e 74 3c 2f 62 3e 3a 20 6f 6e 20  <b>Hint</b>: on 
2f60: 57 69 6e 64 6f 77 73 20 69 74 20 75 73 75 61 6c  Windows it usual
2f70: 6c 79 20 69 73 20 61 20 76 65 72 79 20 6e 69 63  ly is a very nic
2f80: 65 20 73 6f 6c 75 74 69 6f 6e 20 74 6f 20 70 6c  e solution to pl
2f90: 61 63 65 20 74 68 65 20 44 4c 4c 20 69 6e 20 74  ace the DLL in t
2fa0: 68 65 20 73 61 6d 65 20 66 6f 6c 64 65 72 20 77  he same folder w
2fb0: 68 65 72 65 20 74 68 65 20 47 55 49 20 65 78 65  here the GUI exe
2fc0: 63 75 74 61 62 6c 65 20 69 73 2e 3c 2f 6c 69 3e  cutable is.</li>
2fd0: 0d 0a 3c 6c 69 3e 69 66 20 73 75 63 68 20 61 6e  ..<li>if such an
2fe0: 20 61 74 74 65 6d 70 74 20 66 61 69 6c 73 2c 20   attempt fails, 
2ff0: 74 68 65 6e 20 74 68 65 20 75 73 65 72 20 69 73  then the user is
3000: 20 61 73 6b 65 64 20 66 6f 72 20 6d 61 6e 75 61   asked for manua
3010: 6c 6c 79 20 73 65 61 72 63 68 69 6e 67 20 3c 62  lly searching <b
3020: 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 2c 20  >libpq.dll</b>, 
3030: 61 73 20 73 68 6f 77 6e 20 62 79 20 74 68 65 20  as shown by the 
3040: 73 69 64 65 20 66 69 67 75 72 65 2e 3c 2f 6c 69  side figure.</li
3050: 3e 0d 0a 3c 2f 75 6c 3e 3c 2f 74 64 3e 0d 0a 3c  >..</ul></td>..<
3060: 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74  td><img src="htt
3070: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
3080: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67  s.it/gaia-sins/g
3090: 75 69 2d 70 6f 73 74 67 72 65 73 2f 6c 69 62 70  ui-postgres/libp
30a0: 71 2d 64 65 66 65 72 72 65 64 31 2e 70 6e 67 22  q-deferred1.png"
30b0: 20 61 6c 74 3d 22 6c 69 62 70 71 20 6e 6f 74 20   alt="libpq not 
30c0: 66 6f 75 6e 64 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f  found"></td>..</
30d0: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c  tr>..<tr>..<td><
30e0: 62 3e 41 2e 32 3c 2f 62 3e 20 6e 6f 77 20 79 6f  b>A.2</b> now yo
30f0: 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 73 74  u can use the st
3100: 61 6e 64 61 72 64 20 46 69 6c 65 20 53 65 6c 65  andard File Sele
3110: 63 74 69 6f 6e 20 64 69 61 6c 6f 67 20 69 6e 20  ction dialog in 
3120: 6f 72 64 65 72 20 74 6f 20 6c 6f 63 61 74 65 20  order to locate 
3130: 61 6e 64 20 6f 70 65 6e 20 3c 62 3e 6c 69 62 70  and open <b>libp
3140: 71 2e 64 6c 6c 3c 2f 62 3e 2e 3c 62 72 3e 3c 62  q.dll</b>.<br><b
3150: 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 57 61 72 6e 69  r><br>..<b>Warni
3160: 6e 67 3c 2f 62 3e 3a 20 61 20 76 65 72 79 20 63  ng</b>: a very c
3170: 6f 6d 6d 6f 6e 20 70 69 74 66 61 6c 6c 20 69 73  ommon pitfall is
3180: 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c   attempting to l
3190: 6f 61 64 20 61 20 33 32 20 62 69 74 20 44 4c 4c  oad a 32 bit DLL
31a0: 20 6f 6e 20 61 20 36 34 20 62 69 74 20 47 55 49   on a 64 bit GUI
31b0: 2c 20 6f 72 20 74 68 65 20 6f 70 70 6f 73 69 74  , or the opposit
31c0: 65 2e 3c 62 72 3e 0d 0a 54 68 65 20 63 6f 64 65  e.<br>..The code
31d0: 20 6d 6f 64 65 6c 20 6f 66 20 62 6f 74 68 20 74   model of both t
31e0: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 61 6e  he executable an
31f0: 64 20 74 68 65 20 44 4c 4c 20 6d 75 73 74 20 6e  d the DLL must n
3200: 65 63 65 73 73 61 72 69 6c 79 20 6d 61 74 63 68  ecessarily match
3210: 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67  .</td>..<td><img
3220: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
3230: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
3240: 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74  ia-sins/gui-post
3250: 67 72 65 73 2f 6c 69 62 70 71 2d 64 65 66 65 72  gres/libpq-defer
3260: 72 65 64 32 2e 70 6e 67 22 20 61 6c 74 3d 22 6c  red2.png" alt="l
3270: 69 62 70 71 20 6f 70 65 6e 22 3e 3c 2f 74 64 3e  ibpq open"></td>
3280: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
3290: 74 64 3e 3c 62 3e 41 2e 33 3c 2f 62 3e 20 69 66  td><b>A.3</b> if
32a0: 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62   <b>libpq.dll</b
32b0: 3e 20 68 61 73 20 62 65 65 6e 20 73 75 63 63 65  > has been succe
32c0: 73 73 66 75 6c 6c 79 20 6c 6f 61 64 65 64 20 61  ssfully loaded a
32d0: 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 20 6d 65   confirmation me
32e0: 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20 73 68  ssage will be sh
32f0: 6f 77 6e 2e 3c 62 72 3e 0d 0a 54 68 65 20 61 73  own.<br>..The as
3300: 73 6f 63 69 61 74 69 6f 6e 20 62 65 74 77 65 65  sociation betwee
3310: 6e 20 74 68 65 20 47 55 49 20 61 6e 64 20 74 68  n the GUI and th
3320: 65 20 44 4c 4c 20 77 69 6c 6c 20 62 65 20 70 65  e DLL will be pe
3330: 72 6d 61 6e 65 6e 74 6c 79 20 72 65 67 69 73 74  rmanently regist
3340: 65 72 65 64 2c 20 73 6f 20 74 6f 20 61 6c 6c 6f  ered, so to allo
3350: 77 20 66 6f 72 20 61 6e 20 61 75 74 6f 6d 61 74  w for an automat
3360: 69 63 20 6c 6f 61 64 69 6e 67 20 69 6e 20 61 6c  ic loading in al
3370: 6c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  l the following 
3380: 73 65 73 73 69 6f 6e 73 2e 3c 2f 74 64 3e 0d 0a  sessions.</td>..
3390: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
33a0: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
33b0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
33c0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6c 69 62  gui-postgres/lib
33d0: 70 71 2d 64 65 66 65 72 72 65 64 33 2e 70 6e 67  pq-deferred3.png
33e0: 22 20 61 6c 74 3d 22 6c 69 62 70 71 20 6c 6f 61  " alt="libpq loa
33f0: 64 65 64 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ded"></td>..</tr
3400: 3e 0d 0a 3c 2f 74 61 62 6c 65 3e 0d 0a 0d 0a 0d  >..</table>.....
3410: 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72 65 66  .Back to <a href
3420: 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61  ="https://www.ga
3430: 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c  ia-gis.it/fossil
3440: 2f 73 70 61 74 69 61 6c 69 74 65 5f 67 75 69 2f  /spatialite_gui/
3450: 77 69 6b 69 3f 6e 61 6d 65 3d 73 70 61 74 69 61  wiki?name=spatia
3460: 6c 69 74 65 2d 67 75 69 22 3e 6d 61 69 6e 20 57  lite-gui">main W
3470: 69 6b 69 20 70 61 67 65 3c 2f 61 3e 0a 5a 20 37  iki page</a>.Z 7
3480: 62 62 37 61 30 61 64 30 64 30 62 30 62 37 34 38  bb7a0ad0d0b0b748
3490: 31 63 65 31 62 66 32 31 62 62 37 39 63 63 62 0a  1ce1bf21bb79ccb.