Hex Artifact Content
Not logged in

Artifact 4a49720c1117713727db22504b9ad9fb8bbcba57:

Wiki page [PostgreSQL] by anonymous 2024-07-19 07:10:51.
0000: 44 20 32 30 32 34 2d 30 37 2d 31 39 54 30 37 3a  D 2024-07-19T07:
0010: 31 30 3a 35 31 2e 39 30 30 0a 4c 20 50 6f 73 74  10:51.900.L Post
0020: 67 72 65 53 51 4c 0a 50 20 34 31 36 63 39 37 63  greSQL.P 416c97c
0030: 38 31 36 39 33 62 36 61 64 61 33 64 32 33 62 30  81693b6ada3d23b0
0040: 64 32 30 34 36 38 61 33 64 35 31 31 32 61 61 38  d20468a3d5112aa8
0050: 61 0a 55 20 61 6e 6f 6e 79 6d 6f 75 73 0a 57 20  a.U anonymous.W 
0060: 31 33 35 32 34 0a 42 61 63 6b 20 74 6f 20 3c 61  13524.Back to <a
0070: 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77   href="https://w
0080: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 66  ww.gaia-gis.it/f
0090: 6f 73 73 69 6c 2f 73 70 61 74 69 61 6c 69 74 65  ossil/spatialite
00a0: 5f 67 75 69 2f 77 69 6b 69 3f 6e 61 6d 65 3d 73  _gui/wiki?name=s
00b0: 70 61 74 69 61 6c 69 74 65 2d 67 75 69 22 3e 6d  patialite-gui">m
00c0: 61 69 6e 20 57 69 6b 69 20 70 61 67 65 3c 2f 61  ain Wiki page</a
00d0: 3e 3c 68 72 3e 3c 62 72 3e 0d 0a 3c 68 31 3e 54  ><hr><br>..<h1>T
00e0: 68 65 20 47 55 49 20 61 73 20 61 20 50 6f 73 74  he GUI as a Post
00f0: 67 72 65 53 51 4c 20 63 6c 69 65 6e 74 3c 2f 68  greSQL client</h
0100: 31 3e 0d 0a 53 74 61 72 74 69 6e 67 20 66 72 6f  1>..Starting fro
0110: 6d 20 76 65 72 73 69 6f 6e 20 3c 62 3e 32 2e 31  m version <b>2.1
0120: 2e 30 3c 2f 62 3e 20 74 68 65 20 47 55 49 20 68  .0</b> the GUI h
0130: 61 73 20 74 68 65 20 63 61 70 61 62 69 6c 69 74  as the capabilit
0140: 79 20 74 6f 20 73 75 70 70 6f 72 74 20 63 6f 6e  y to support con
0150: 6e 65 63 74 69 6f 6e 73 20 74 6f 20 65 78 74 65  nections to exte
0160: 72 6e 61 6c 20 3c 62 3e 50 6f 73 74 67 72 65 53  rnal <b>PostgreS
0170: 51 4c 20 2f 20 50 6f 73 74 47 49 53 3c 2f 62 3e  QL / PostGIS</b>
0180: 20 64 61 74 61 62 61 73 65 73 2e 3c 62 72 3e 0d   databases.<br>.
0190: 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 61 6c  .This functional
01a0: 69 74 79 20 69 73 20 6d 61 69 6e 6c 79 20 62 61  ity is mainly ba
01b0: 73 65 64 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22  sed on <a href="
01c0: 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61  https://www.gaia
01d0: 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69 6c 2f 76  -gis.it/fossil/v
01e0: 69 72 74 75 61 6c 70 67 2f 77 69 6b 69 3f 6e 61  irtualpg/wiki?na
01f0: 6d 65 3d 74 75 74 6f 72 69 61 6c 22 3e 6c 69 62  me=tutorial">lib
0200: 76 69 72 74 75 61 6c 70 67 3c 2f 61 3e 2c 20 74  virtualpg</a>, t
0210: 68 61 74 20 69 73 20 6e 6f 77 20 61 20 72 65 71  hat is now a req
0220: 75 69 72 65 64 20 64 65 70 65 6e 64 65 6e 63 79  uired dependency
0230: 20 66 6f 72 20 74 68 65 20 47 55 49 20 74 6f 6f   for the GUI too
0240: 6c 2e 0d 0a 54 68 65 20 70 72 65 73 65 6e 74 20  l...The present 
0250: 74 75 74 6f 72 69 61 6c 20 69 73 20 69 6e 74 65  tutorial is inte
0260: 6e 64 65 64 20 74 6f 20 71 75 69 63 6b 6c 79 20  nded to quickly 
0270: 65 78 70 6c 61 69 6e 20 68 6f 77 20 74 68 65 20  explain how the 
0280: 50 6f 73 74 67 72 65 53 51 4c 20 73 75 70 70 6f  PostgreSQL suppo
0290: 72 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65  rt is implemente
02a0: 64 20 62 79 20 3c 62 3e 73 70 61 74 69 61 6c 69  d by <b>spatiali
02b0: 74 65 5f 67 75 69 3c 2f 62 3e 2e 3c 62 72 3e 3c  te_gui</b>.<br><
02c0: 62 72 3e 0d 0a 3c 74 61 62 6c 65 20 63 65 6c 6c  br>..<table cell
02d0: 73 70 61 63 69 6e 67 3d 22 36 22 20 63 65 6c 6c  spacing="6" cell
02e0: 70 61 64 64 69 6e 67 3d 22 36 22 20 62 67 63 6f  padding="6" bgco
02f0: 6c 6f 72 3d 22 23 66 30 66 66 65 30 22 20 77 69  lor="#f0ffe0" wi
0300: 64 74 68 3d 22 31 30 30 25 22 20 62 6f 72 64 65  dth="100%" borde
0310: 72 3d 22 31 22 3e 0d 0a 3c 74 72 3e 3c 74 64 20  r="1">..<tr><td 
0320: 63 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67  colspan="2" alig
0330: 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 31  n="center"><h3>1
0340: 20 2d 20 45 73 74 61 62 6c 69 73 68 69 6e 67 20   - Establishing 
0350: 61 20 43 6f 6e 6e 65 63 74 69 6e 67 20 74 6f 20  a Connecting to 
0360: 61 20 50 6f 73 74 67 72 65 53 51 4c 20 44 42 4d  a PostgreSQL DBM
0370: 53 3c 2f 68 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c  S</h3><hr></td><
0380: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
0390: 3c 62 3e 31 2e 61 3c 2f 62 3e 20 66 69 72 73 74  <b>1.a</b> first
03a0: 20 70 72 65 73 73 20 74 68 65 20 61 70 70 72 6f   press the appro
03b0: 70 72 69 61 74 65 20 62 75 74 74 6f 6e 20 66 72  priate button fr
03c0: 6f 6d 20 74 68 65 20 54 6f 6f 6c 62 61 72 3c 2f  om the Toolbar</
03d0: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
03e0: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
03f0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
0400: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65  sins/gui-postgre
0410: 73 2f 67 75 69 31 2e 70 6e 67 22 20 61 6c 74 3d  s/gui1.png" alt=
0420: 22 63 6f 6e 6e 65 63 74 69 6f 6e 20 31 22 3e 3c  "connection 1"><
0430: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
0440: 3e 0d 0a 3c 74 64 3e 3c 62 3e 31 2e 62 3c 2f 62  >..<td><b>1.b</b
0450: 3e 20 74 68 65 6e 20 73 65 6c 65 63 74 20 74 68  > then select th
0460: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 69 74  e appropriate it
0470: 65 6d 20 66 72 6f 6d 20 74 68 65 20 6d 61 69 6e  em from the main
0480: 20 4d 65 6e 75 3c 2f 74 64 3e 0d 0a 3c 74 64 3e   Menu</td>..<td>
0490: 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a  <img src="https:
04a0: 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69  //www.gaia-gis.i
04b0: 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d  t/gaia-sins/gui-
04c0: 70 6f 73 74 67 72 65 73 2f 67 75 69 32 2e 70 6e  postgres/gui2.pn
04d0: 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69  g" alt="connecti
04e0: 6f 6e 20 32 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74  on 2"></td>..</t
04f0: 72 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  r>..</tr>..<tr>.
0500: 0a 3c 74 64 3e 3c 62 3e 31 2e 63 3c 2f 62 3e 20  .<td><b>1.c</b> 
0510: 61 6e 64 20 66 69 6e 61 6c 6c 79 20 73 65 6c 65  and finally sele
0520: 63 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 61  ct the appropria
0530: 74 65 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 65  te item from the
0540: 20 63 6f 6e 74 65 78 74 20 4d 65 6e 75 20 74 68   context Menu th
0550: 61 74 20 77 69 6c 6c 20 61 70 70 65 61 72 20 62  at will appear b
0560: 79 20 63 6c 69 63 6b 69 6e 67 20 74 68 65 20 3c  y clicking the <
0570: 62 3e 6c 65 66 74 3c 2f 62 3e 20 62 75 74 74 6f  b>left</b> butto
0580: 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 20 6f  n of the mouse o
0590: 76 65 72 20 74 68 65 20 3c 62 3e 50 6f 73 74 72  ver the <b>Postr
05a0: 65 53 51 4c 3c 2f 62 3e 20 6d 61 69 6e 20 6e 6f  eSQL</b> main no
05b0: 64 65 20 66 72 6f 6d 20 74 68 65 20 54 61 62 6c  de from the Tabl
05c0: 65 20 54 72 65 65 2e 3c 2f 74 64 3e 0d 0a 3c 74  e Tree.</td>..<t
05d0: 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74 70  d><img src="http
05e0: 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69 73  s://www.gaia-gis
05f0: 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75  .it/gaia-sins/gu
0600: 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 33 2e  i-postgres/gui3.
0610: 70 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e 65 63  png" alt="connec
0620: 74 69 6f 6e 20 33 22 3e 3c 2f 74 64 3e 0d 0a 3c  tion 3"></td>..<
0630: 2f 74 72 3e 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62  /tr><tr>..<td><b
0640: 3e 31 2e 64 3c 2f 62 3e 20 69 6e 20 61 6c 6c 20  >1.d</b> in all 
0650: 74 68 72 65 65 20 63 61 73 65 73 20 74 68 65 20  three cases the 
0660: 50 6f 73 74 67 72 65 53 51 4c 20 63 6f 6e 6e 65  PostgreSQL conne
0670: 63 74 69 6f 6e 20 64 69 61 6c 6f 67 20 77 69 6c  ction dialog wil
0680: 6c 20 74 68 65 6e 20 61 70 70 65 61 72 2e 3c 62  l then appear.<b
0690: 72 3e 0d 0a 4a 75 73 74 20 69 6e 73 65 72 74 20  r>..Just insert 
06a0: 74 68 65 20 72 65 71 75 69 72 65 64 20 63 6f 6e  the required con
06b0: 6e 65 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74  nection argument
06c0: 73 20 61 6e 64 20 63 6f 6e 66 69 72 6d 2e 3c 62  s and confirm.<b
06d0: 72 3e 3c 62 72 3e 0d 0a 57 68 65 6e 20 69 6e 76  r><br>..When inv
06e0: 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 73 20 61  alid arguments a
06f0: 72 65 20 67 69 76 65 6e 2c 20 61 6e 20 65 72 72  re given, an err
0700: 6f 72 20 6d 65 73 73 61 67 65 20 20 77 69 6c 6c  or message  will
0710: 20 62 65 20 64 69 73 70 6c 61 79 65 64 2c 20 6f   be displayed, o
0720: 74 68 65 72 77 69 73 65 20 74 68 65 20 63 6f 6e  therwise the con
0730: 6e 65 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20  nection will be 
0740: 69 6d 6d 65 64 69 61 74 65 6c 79 20 65 73 74 61  immediately esta
0750: 62 6c 69 73 68 65 64 2e 3c 62 72 3e 3c 62 72 3e  blished.<br><br>
0760: 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 62 72 3e  <br><hr><br><br>
0770: 3c 62 72 3e 0d 0a 49 66 20 79 6f 75 20 61 72 65  <br>..If you are
0780: 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63   attempting to c
0790: 6f 6e 6e 65 63 74 20 61 20 72 65 6d 6f 74 65 20  onnect a remote 
07a0: 73 65 72 76 65 72 2c 20 79 6f 75 20 6d 61 79 20  server, you may 
07b0: 66 69 6e 64 20 69 74 20 75 73 65 66 75 6c 20 74  find it useful t
07c0: 6f 20 72 65 61 64 20 74 68 65 20 74 75 74 6f 72  o read the tutor
07d0: 69 61 6c 20 61 62 6f 75 74 20 3c 61 20 68 72 65  ial about <a hre
07e0: 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  f="https://www.g
07f0: 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73 69  aia-gis.it/fossi
0800: 6c 2f 76 69 72 74 75 61 6c 70 67 2f 77 69 6b 69  l/virtualpg/wiki
0810: 3f 6e 61 6d 65 3d 70 6f 72 74 2d 66 6f 72 77 61  ?name=port-forwa
0820: 72 64 69 6e 67 22 3e 53 53 48 20 74 75 6e 6e 65  rding">SSH tunne
0830: 6c 69 6e 67 20 61 6e 64 20 50 6f 72 74 20 46 6f  ling and Port Fo
0840: 72 77 61 72 64 69 6e 67 3c 2f 61 3e 0d 0a 3c 62  rwarding</a>..<b
0850: 72 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 3c 68 72 3e  r><br><br>..<hr>
0860: 0d 0a 3c 74 61 62 6c 65 20 62 67 63 6f 6c 6f 72  ..<table bgcolor
0870: 3d 22 23 66 66 63 63 38 30 22 20 63 65 6c 6c 73  ="#ffcc80" cells
0880: 70 61 63 69 6e 67 3d 22 36 22 20 63 65 6c 6c 70  pacing="6" cellp
0890: 61 64 64 69 6e 67 3d 22 36 22 20 62 6f 72 64 65  adding="6" borde
08a0: 72 3d 22 31 22 20 77 69 64 74 68 3d 22 31 30 30  r="1" width="100
08b0: 25 22 3e 0d 0a 3c 74 72 3e 3c 74 64 20 61 6c 69  %">..<tr><td ali
08c0: 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e  gn="center"><h3>
08d0: 53 70 65 63 69 61 6c 20 6e 6f 74 65 20 66 6f 72  Special note for
08e0: 20 57 69 6e 64 6f 77 73 20 75 73 65 72 73 3c 2f   Windows users</
08f0: 68 33 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c  h3></td></tr>..<
0900: 74 72 3e 3c 74 64 3e 0d 0a 50 6c 65 61 73 65 20  tr><td>..Please 
0910: 72 65 61 64 20 74 68 65 20 3c 61 20 68 72 65 66  read the <a href
0920: 3d 22 23 61 64 64 65 6e 64 75 6d 22 3e 41 64 64  ="#addendum">Add
0930: 65 6e 64 75 6d 3c 2f 61 3e 20 61 62 6f 75 74 20  endum</a> about 
0940: 4c 69 62 50 51 20 6c 61 74 65 20 62 69 6e 64 69  LibPQ late bindi
0950: 6e 67 2e 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  ng...</td></tr>.
0960: 0a 3c 2f 74 61 62 6c 65 3e 3c 2f 74 64 3e 0d 0a  .</table></td>..
0970: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
0980: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
0990: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
09a0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69  gui-postgres/gui
09b0: 34 2e 70 6e 67 22 20 61 6c 74 3d 22 63 6f 6e 6e  4.png" alt="conn
09c0: 65 63 74 69 6f 6e 20 34 22 3e 3c 2f 74 64 3e 0d  ection 4"></td>.
09d0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 3c 74 64 20  .</tr>..<tr><td 
09e0: 63 6f 6c 73 70 61 6e 3d 22 32 22 20 61 6c 69 67  colspan="2" alig
09f0: 6e 3d 22 63 65 6e 74 65 72 22 3e 3c 68 33 3e 32  n="center"><h3>2
0a00: 20 2d 20 45 78 70 61 6e 64 69 6e 67 20 74 68 65   - Expanding the
0a10: 20 50 6f 73 74 67 72 65 53 51 4c 20 74 72 65 65   PostgreSQL tree
0a20: 3c 2f 68 33 3e 3c 68 72 3e 3c 2f 74 64 3e 3c 2f  </h3><hr></td></
0a30: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c  tr>..<tr>..<td><
0a40: 62 3e 32 2e 61 3c 2f 62 3e 20 6f 6e 63 65 20 61  b>2.a</b> once a
0a50: 20 6e 65 77 20 50 6f 73 74 67 72 65 73 20 63 6f   new Postgres co
0a60: 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20 62 65 65  nnection has bee
0a70: 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 65  n successfully e
0a80: 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 20  stablished, the 
0a90: 50 6f 73 74 67 72 65 73 20 6e 6f 64 65 20 6f 6e  Postgres node on
0aa0: 20 74 68 65 20 6d 61 69 6e 20 54 61 62 6c 65 20   the main Table 
0ab0: 54 72 65 65 20 77 69 6c 6c 20 63 6f 6e 74 61 69  Tree will contai
0ac0: 6e 20 61 6c 6c 20 54 61 62 6c 65 73 20 61 6e 64  n all Tables and
0ad0: 20 56 69 65 77 73 20 64 65 66 69 6e 65 64 20 69   Views defined i
0ae0: 6e 20 74 68 65 20 50 6f 73 74 67 72 65 73 20 44  n the Postgres D
0af0: 61 74 61 62 61 73 65 2c 20 69 6e 20 74 68 65 20  atabase, in the 
0b00: 73 61 6d 65 20 61 72 72 61 6e 67 65 6d 65 6e 74  same arrangement
0b10: 20 61 64 6f 70 74 65 64 20 62 79 20 50 6f 73 74   adopted by Post
0b20: 67 72 65 53 51 4c 3a 0d 0a 3c 75 6c 3e 0d 0a 3c  greSQL:..<ul>..<
0b30: 6c 69 3e 43 6f 6e 6e 65 63 74 69 6f 6e 20 3c 69  li>Connection <i
0b40: 3e 61 6b 61 3c 2f 69 3e 20 3c 62 3e 44 61 74 61  >aka</i> <b>Data
0b50: 62 61 73 65 3c 2f 62 3e 0d 0a 3c 75 6c 3e 0d 0a  base</b>..<ul>..
0b60: 3c 6c 69 3e 3c 62 3e 53 63 68 65 6d 61 3c 2f 62  <li><b>Schema</b
0b70: 3e 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69 3e 3c 62 3e  >..<ul>..<li><b>
0b80: 54 61 62 6c 65 3c 2f 62 3e 20 6f 72 20 3c 62 3e  Table</b> or <b>
0b90: 56 69 65 77 3c 2f 62 3e 3c 2f 6c 69 3e 0d 0a 3c  View</b></li>..<
0ba0: 2f 75 6c 3e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  /ul></li>..</ul>
0bb0: 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 62 72 3e  </li>..</ul><br>
0bc0: 3c 62 72 3e 0d 0a 54 68 65 20 64 69 66 66 65 72  <br>..The differ
0bd0: 65 6e 74 20 64 61 74 61 62 61 73 65 20 74 79 70  ent database typ
0be0: 65 73 20 77 69 6c 6c 20 62 65 20 69 64 65 6e 74  es will be ident
0bf0: 69 66 69 65 64 20 62 79 20 61 6e 20 61 70 70 72  ified by an appr
0c00: 6f 70 72 69 61 74 65 20 69 63 6f 6e 3b 20 56 69  opriate icon; Vi
0c10: 65 77 73 20 77 69 6c 6c 20 62 65 20 64 69 73 74  ews will be dist
0c20: 69 6e 67 75 69 73 68 65 64 20 66 72 6f 6d 20 54  inguished from T
0c30: 61 62 6c 65 73 2c 20 61 6e 64 20 3c 62 3e 50 6f  ables, and <b>Po
0c40: 73 74 47 49 53 3c 2f 62 3e 20 54 61 62 6c 65 73  stGIS</b> Tables
0c50: 20 28 63 6f 6e 74 61 69 6e 69 6e 67 20 3c 62 3e   (containing <b>
0c60: 47 65 6f 6d 65 74 72 79 3c 2f 62 3e 20 63 6f 6c  Geometry</b> col
0c70: 75 6d 6e 73 29 20 77 69 6c 6c 20 62 65 20 63 6c  umns) will be cl
0c80: 65 61 72 6c 79 20 64 69 73 74 69 6e 67 75 69 73  early distinguis
0c90: 68 65 64 20 66 72 6f 6d 20 6f 72 64 69 6e 61 72  hed from ordinar
0ca0: 79 20 54 61 62 6c 65 73 2e 3c 62 72 3e 3c 62 72  y Tables.<br><br
0cb0: 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e 3a 20  >..<b>Note</b>: 
0cc0: 61 6c 6c 20 50 6f 73 74 67 72 65 73 20 54 61 62  all Postgres Tab
0cd0: 6c 65 73 20 61 6e 64 20 56 69 65 77 73 20 28 6e  les and Views (n
0ce0: 61 6d 65 6c 79 3a 20 3c 62 3e 56 69 72 74 75 61  amely: <b>Virtua
0cf0: 6c 50 6f 73 74 67 72 65 73 3c 2f 62 3e 20 54 61  lPostgres</b> Ta
0d00: 62 6c 65 73 29 20 77 69 6c 6c 20 61 6c 77 61 79  bles) will alway
0d10: 73 20 68 61 76 65 20 61 20 63 6f 6e 76 65 6e 74  s have a convent
0d20: 69 6f 6e 61 6c 20 6e 61 6d 65 20 73 74 61 72 74  ional name start
0d30: 69 6e 67 20 77 69 74 68 20 74 68 65 20 3c 62 3e  ing with the <b>
0d40: 76 70 67 5f 3c 2f 62 3e 20 70 72 65 66 69 78 2e  vpg_</b> prefix.
0d50: 3c 62 72 3e 0d 0a 57 68 65 6e 65 76 65 72 20 70  <br>..Whenever p
0d60: 6f 73 73 69 62 6c 65 20 74 68 65 20 6f 72 69 67  ossible the orig
0d70: 69 6e 61 6c 20 50 6f 73 74 67 72 65 73 20 4e 61  inal Postgres Na
0d80: 6d 65 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65  me will be prese
0d90: 72 76 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20  rved, otherwise 
0da0: 61 20 6e 75 6d 65 72 69 63 20 73 75 66 66 69 78  a numeric suffix
0db0: 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 2c 20   will be added, 
0dc0: 65 6e 73 75 72 69 6e 67 20 61 20 75 6e 69 71 75  ensuring a uniqu
0dd0: 65 20 6e 61 6d 65 20 2e 3c 62 72 3e 3c 62 72 3e  e name .<br><br>
0de0: 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e  <br>..<hr>..<br>
0df0: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62  <br>..<b>Note</b
0e00: 3e 3a 20 61 6c 6c 20 64 61 74 61 62 61 73 65 20  >: all database 
0e10: 6f 62 6a 65 63 74 73 20 69 6e 20 74 68 65 20 50  objects in the P
0e20: 6f 73 74 67 72 65 73 20 54 72 65 65 20 61 72 65  ostgres Tree are
0e30: 20 64 79 6e 61 6d 69 63 2c 20 61 6e 64 20 77 69   dynamic, and wi
0e40: 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ll automatically
0e50: 20 64 69 73 61 70 70 65 61 72 20 77 68 65 6e 20   disappear when 
0e60: 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e  the correspondin
0e70: 67 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73  g connection has
0e80: 20 62 65 65 6e 20 63 6c 6f 73 65 64 2c 20 6f 72   been closed, or
0e90: 20 77 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e   when the curren
0ea0: 74 20 73 65 73 73 69 6f 6e 20 65 6e 64 73 2e 3c  t session ends.<
0eb0: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73  /td>..<td><img s
0ec0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
0ed0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
0ee0: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72  -sins/gui-postgr
0ef0: 65 73 2f 67 75 69 35 2e 70 6e 67 22 20 61 6c 74  es/gui5.png" alt
0f00: 3d 22 74 61 62 6c 65 20 74 72 65 65 22 3e 3c 2f  ="table tree"></
0f10: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
0f20: 0d 0a 3c 74 64 3e 3c 62 3e 32 2e 62 3c 2f 62 3e  ..<td><b>2.b</b>
0f30: 20 69 66 2c 20 66 6f 72 20 61 6e 79 20 70 6f 73   if, for any pos
0f40: 73 69 62 6c 65 20 72 65 61 73 6f 6e 20 28 73 75  sible reason (su
0f50: 63 68 20 61 73 20 6f 6e 3a 20 61 20 73 79 73 74  ch as on: a syst
0f60: 65 6d 20 63 72 61 73 68 2c 20 70 6f 77 65 72 20  em crash, power 
0f70: 66 61 69 6c 75 72 65 2c 20 65 74 63 2e 29 2c 20  failure, etc.), 
0f80: 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 73 73  the current sess
0f90: 69 6f 6e 20 66 61 69 6c 73 20 74 6f 20 63 6f 72  ion fails to cor
0fa0: 72 65 63 74 6c 79 20 70 65 72 66 6f 72 6d 20 74  rectly perform t
0fb0: 68 65 20 65 78 70 65 63 74 65 64 20 66 69 6e 61  he expected fina
0fc0: 6c 20 63 6c 65 61 6e 75 70 2c 20 79 6f 75 72 20  l cleanup, your 
0fd0: 53 51 4c 69 74 65 20 64 61 74 61 62 61 73 65 20  SQLite database 
0fe0: 77 69 6c 6c 20 72 65 6d 61 69 6e 20 69 6e 20 61  will remain in a
0ff0: 20 64 69 72 74 79 20 61 6e 64 20 69 6e 63 6f 6e   dirty and incon
1000: 73 69 73 74 65 6e 74 20 73 74 61 74 65 2e 3c 62  sistent state.<b
1010: 72 3e 0d 0a 41 73 20 74 68 65 20 73 69 64 65 20  r>..As the side 
1020: 66 69 67 75 72 65 20 73 68 6f 77 73 2c 20 77 68  figure shows, wh
1030: 65 6e 20 72 65 73 74 61 72 74 69 6e 67 20 61 20  en restarting a 
1040: 6e 65 77 20 73 65 73 73 69 6f 6e 20 61 6c 6c 20  new session all 
1050: 3c 62 3e 6f 72 70 68 61 6e 65 64 20 56 69 72 74  <b>orphaned Virt
1060: 75 61 6c 50 6f 73 74 67 72 65 73 20 74 61 62 6c  ualPostgres tabl
1070: 65 73 3c 2f 62 3e 2c 20 66 72 6f 6d 20 61 6e 79  es</b>, from any
1080: 20 61 62 6f 72 74 65 64 20 73 65 73 73 69 6f 6e   aborted session
1090: 28 73 29 2c 20 63 61 6e 20 73 74 69 6c 6c 20 62  (s), can still b
10a0: 65 20 73 65 65 6e 2e 3c 62 72 3e 3c 62 72 3e 0d  e seen.<br><br>.
10b0: 0a 49 66 20 74 68 69 73 20 68 61 70 70 65 6e 73  .If this happens
10c0: 2c 20 64 6f 6e 27 74 20 64 65 73 70 61 69 72 3a  , don't despair:
10d0: 20 61 6c 6c 20 79 6f 75 20 6e 65 65 64 20 74 6f   all you need to
10e0: 20 64 6f 20 69 73 20 74 6f 20 73 65 6c 65 63 74   do is to select
10f0: 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65   the appropriate
1100: 20 69 74 65 6d 20 66 72 6f 6d 20 74 68 65 20 50   item from the P
1110: 6f 73 74 67 72 65 73 20 63 6f 6e 74 65 78 74 20  ostgres context 
1120: 6d 65 6e 75 20 61 6e 64 20 74 68 65 20 44 42 20  menu and the DB 
1130: 77 69 6c 6c 20 62 65 20 69 6d 6d 65 64 69 61 74  will be immediat
1140: 65 6c 79 20 62 65 20 63 6f 6e 76 65 72 74 65 64  ely be converted
1150: 20 69 6e 74 6f 20 61 20 73 61 66 65 2c 20 63 6f   into a safe, co
1160: 6e 73 69 73 74 65 6e 74 20 61 6e 64 20 63 6c 65  nsistent and cle
1170: 61 6e 20 73 74 61 74 65 2e 3c 2f 74 64 3e 0d 0a  an state.</td>..
1180: 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74  <td><img src="ht
1190: 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67  tps://www.gaia-g
11a0: 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f  is.it/gaia-sins/
11b0: 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 6f 72 70  gui-postgres/orp
11c0: 68 61 6e 73 2e 70 6e 67 22 20 61 6c 74 3d 22 6f  hans.png" alt="o
11d0: 72 70 68 61 6e 20 74 61 62 6c 65 73 22 3e 3c 2f  rphan tables"></
11e0: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
11f0: 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20  <td colspan="2" 
1200: 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c  align="center"><
1210: 68 33 3e 33 20 2d 20 4d 65 74 61 64 61 74 61 20  h3>3 - Metadata 
1220: 6f 66 20 50 6f 73 74 67 72 65 53 51 4c 20 6f 62  of PostgreSQL ob
1230: 6a 65 63 74 73 3c 2f 68 33 3e 3c 68 72 3e 3c 2f  jects</h3><hr></
1240: 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a  td></tr>..<tr>..
1250: 3c 74 64 3e 3c 62 3e 33 2e 61 3c 2f 62 3e 20 79  <td><b>3.a</b> y
1260: 6f 75 20 63 61 6e 20 65 61 73 69 6c 79 20 71 75  ou can easily qu
1270: 65 72 79 20 74 68 65 20 6d 65 74 61 64 61 74 61  ery the metadata
1280: 20 66 6f 72 20 65 61 63 68 20 50 6f 73 74 67 72   for each Postgr
1290: 65 73 20 6f 62 6a 65 63 74 3b 20 6a 75 73 74 20  es object; just 
12a0: 73 65 6c 65 63 74 20 74 68 65 20 61 70 70 72 6f  select the appro
12b0: 70 72 69 61 74 65 20 69 74 65 6d 20 66 72 6f 6d  priate item from
12c0: 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6d 65 6e   the context men
12d0: 75 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d  u.</td>..<td><im
12e0: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
12f0: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
1300: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73  aia-sins/gui-pos
1310: 74 67 72 65 73 2f 67 75 69 36 2e 70 6e 67 22 20  tgres/gui6.png" 
1320: 61 6c 74 3d 22 6d 65 74 61 64 61 74 61 20 69 6e  alt="metadata in
1330: 66 6f 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  fo"></td>..</tr>
1340: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 33  ..<tr>..<td><b>3
1350: 2e 62 3c 2f 62 3e 20 4d 65 74 61 64 61 74 61 20  .b</b> Metadata 
1360: 66 6f 72 20 61 20 3c 62 3e 43 6f 6e 6e 65 63 74  for a <b>Connect
1370: 69 6f 6e 3c 2f 62 3e 20 3c 69 3e 61 6b 61 3c 2f  ion</b> <i>aka</
1380: 69 3e 20 3c 62 3e 44 61 74 61 62 61 73 65 3c 2f  i> <b>Database</
1390: 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 72  b> object will r
13a0: 65 70 6f 72 74 20 74 68 65 20 69 6e 69 74 69 61  eport the initia
13b0: 6c 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 61 72 67  l connection arg
13c0: 75 6d 65 6e 74 73 2e 3c 62 72 3e 3c 62 72 3e 3c  uments.<br><br><
13d0: 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e 3c  br>..<hr>..<br><
13e0: 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62 3e  br>..<b>Note</b>
13f0: 3a 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73  : you can always
1400: 20 63 6f 6e 6e 65 63 74 20 6d 6f 72 65 20 74 68   connect more th
1410: 61 6e 20 6f 6e 65 20 50 6f 73 74 67 72 65 73 20  an one Postgres 
1420: 44 61 74 61 62 61 73 65 20 69 6e 20 74 68 65 20  Database in the 
1430: 73 61 6d 65 20 73 65 73 73 69 6f 6e 3b 20 68 6f  same session; ho
1440: 77 65 76 65 72 20 63 6f 6e 6e 65 63 74 69 6e 67  wever connecting
1450: 20 74 68 65 20 73 61 6d 65 20 44 61 74 61 62 61   the same Databa
1460: 73 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63  se more than onc
1470: 65 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74  e is not permitt
1480: 65 64 20 28 61 20 77 61 72 6e 69 6e 67 20 6d 65  ed (a warning me
1490: 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20 73 68  ssage will be sh
14a0: 6f 77 6e 20 69 6e 20 74 68 69 73 20 63 61 73 65  own in this case
14b0: 29 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d  ).</td>..<td><im
14c0: 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77  g src="https://w
14d0: 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67  ww.gaia-gis.it/g
14e0: 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73  aia-sins/gui-pos
14f0: 74 67 72 65 73 2f 67 75 69 37 2e 70 6e 67 22 20  tgres/gui7.png" 
1500: 61 6c 74 3d 22 63 6f 6e 6e 65 63 74 69 6f 6e 20  alt="connection 
1510: 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d  metadata"></td>.
1520: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
1530: 64 3e 3c 62 3e 33 2e 63 3c 2f 62 3e 20 4d 65 74  d><b>3.c</b> Met
1540: 61 64 61 74 61 20 66 6f 72 20 61 20 3c 62 3e 53  adata for a <b>S
1550: 63 68 65 6d 61 3c 2f 62 3e 20 6f 62 6a 65 63 74  chema</b> object
1560: 20 61 72 65 6e 27 74 20 72 65 61 6c 6c 79 20 76   aren't really v
1570: 65 72 79 20 69 6e 74 65 72 65 73 74 69 6e 67 2c  ery interesting,
1580: 20 73 69 6e 63 65 20 6f 6e 6c 79 20 74 68 65 20   since only the 
1590: 6e 61 6d 65 20 77 69 6c 6c 20 62 65 20 73 68 6f  name will be sho
15a0: 77 6e 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69  wn.</td>..<td><i
15b0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
15c0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
15d0: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f  gaia-sins/gui-po
15e0: 73 74 67 72 65 73 2f 67 75 69 38 2e 70 6e 67 22  stgres/gui8.png"
15f0: 20 61 6c 74 3d 22 73 63 68 65 6d 61 20 6d 65 74   alt="schema met
1600: 61 64 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f  adata"></td>..</
1610: 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c  tr>..<tr>..<td><
1620: 62 3e 33 2e 64 3c 2f 62 3e 20 4d 65 74 61 64 61  b>3.d</b> Metada
1630: 74 61 20 66 6f 72 20 3c 62 3e 54 61 62 6c 65 3c  ta for <b>Table<
1640: 2f 62 3e 20 6f 72 20 3c 62 3e 56 69 65 77 3c 2f  /b> or <b>View</
1650: 62 3e 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 72  b> object will r
1660: 65 70 6f 72 74 20 61 6c 6c 20 3c 62 3e 47 52 41  eport all <b>GRA
1670: 4e 54 20 70 65 72 6d 69 73 73 69 6f 6e 73 3c 2f  NT permissions</
1680: 62 3e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65  b> for the curre
1690: 6e 74 20 55 73 65 72 2e 3c 62 72 3e 3c 62 72 3e  nt User.<br><br>
16a0: 3c 62 72 3e 0d 0a 3c 68 72 3e 0d 0a 3c 62 72 3e  <br>..<hr>..<br>
16b0: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62  <br>..<b>Note</b
16c0: 3e 3a 20 61 6c 73 6f 20 69 6e 20 74 68 65 20 63  >: also in the c
16d0: 61 73 65 20 6f 66 20 61 20 3c 62 3e 52 45 41 44  ase of a <b>READ
16e0: 2d 57 52 49 54 45 3c 2f 62 3e 20 65 6e 61 62 6c  -WRITE</b> enabl
16f0: 65 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 2c 20 61  ed connection, a
1700: 6c 6c 20 50 6f 73 74 67 72 65 73 20 54 61 62 6c  ll Postgres Tabl
1710: 65 73 20 6c 61 63 6b 69 6e 67 20 74 68 65 20 70  es lacking the p
1720: 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 65 78 65  ermission to exe
1730: 63 75 74 65 20 3c 62 3e 49 4e 53 45 52 54 3c 2f  cute <b>INSERT</
1740: 62 3e 2c 20 3c 62 3e 55 50 44 41 54 45 3c 2f 62  b>, <b>UPDATE</b
1750: 3e 20 6f 72 20 3c 62 3e 44 45 4c 45 54 45 3c 2f  > or <b>DELETE</
1760: 62 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 77 69  b> statements wi
1770: 6c 6c 20 62 65 20 74 72 65 61 74 65 64 20 61 73  ll be treated as
1780: 20 3c 62 3e 52 45 41 44 2d 4f 4e 4c 59 3c 2f 62   <b>READ-ONLY</b
1790: 3e 20 54 61 62 6c 65 73 2e 3c 62 72 3e 0d 0a 54  > Tables.<br>..T
17a0: 68 65 20 73 61 6d 65 20 69 73 20 74 72 75 65 20  he same is true 
17b0: 66 6f 72 20 54 61 62 6c 65 73 20 77 68 65 72 65  for Tables where
17c0: 20 6e 6f 20 3c 62 3e 50 52 49 4d 41 52 59 20 4b   no <b>PRIMARY K
17d0: 45 59 3c 2f 62 3e 20 68 61 73 20 62 65 65 6e 20  EY</b> has been 
17e0: 64 65 66 69 6e 65 64 2e 3c 2f 74 64 3e 0d 0a 3c  defined.</td>..<
17f0: 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68 74 74  td><img src="htt
1800: 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d 67 69  ps://www.gaia-gi
1810: 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73 2f 67  s.it/gaia-sins/g
1820: 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75 69 39  ui-postgres/gui9
1830: 2e 70 6e 67 22 20 61 6c 74 3d 22 74 61 62 6c 65  .png" alt="table
1840: 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f 74 64 3e   metadata"></td>
1850: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
1860: 74 64 3e 3c 62 3e 33 2e 65 3c 2f 62 3e 20 4d 65  td><b>3.e</b> Me
1870: 74 61 64 61 74 61 20 66 6f 72 20 61 20 3c 62 3e  tadata for a <b>
1880: 50 6f 73 74 47 49 53 20 54 61 62 6c 65 3c 2f 62  PostGIS Table</b
1890: 3e 20 6f 62 6a 65 63 74 73 20 73 68 6f 77 20 61  > objects show a
18a0: 6c 6c 20 73 65 74 74 69 6e 67 73 20 6f 66 20 74  ll settings of t
18b0: 68 65 20 3c 62 3e 47 45 4f 4d 45 54 52 59 3c 2f  he <b>GEOMETRY</
18c0: 62 3e 20 63 6f 6c 75 6d 6e 28 73 29 2c 20 69 6e  b> column(s), in
18d0: 63 6c 75 64 69 6e 67 20 74 68 65 20 47 65 6f 6d  cluding the Geom
18e0: 65 74 72 79 54 79 70 65 2c 20 74 68 65 20 53 72  etryType, the Sr
18f0: 69 64 20 61 6e 64 20 74 68 65 20 43 6f 6f 72 64  id and the Coord
1900: 69 6e 61 74 65 44 69 6d 65 6e 73 69 6f 6e 2e 3c  inateDimension.<
1910: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73  /td>..<td><img s
1920: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
1930: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
1940: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72  -sins/gui-postgr
1950: 65 73 2f 67 75 69 31 30 2e 70 6e 67 22 20 61 6c  es/gui10.png" al
1960: 74 3d 22 70 6f 73 74 67 69 73 20 6d 65 74 61 64  t="postgis metad
1970: 61 74 61 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ata"></td>..</tr
1980: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e  >..<tr>..<td><b>
1990: 33 2e 66 3c 2f 62 3e 20 61 6c 6c 20 3c 62 3e 50  3.f</b> all <b>P
19a0: 6f 73 74 47 49 53 20 54 61 62 6c 65 73 3c 2f 62  ostGIS Tables</b
19b0: 3e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61  > will always ha
19c0: 76 65 20 61 20 3c 62 3e 63 6f 6d 70 61 6e 69 6f  ve a <b>companio
19d0: 6e 20 54 61 62 6c 65 3c 2f 62 3e 20 73 68 61 72  n Table</b> shar
19e0: 69 6e 67 20 74 68 65 20 73 61 6d 65 20 69 64 65  ing the same ide
19f0: 6e 74 69 63 61 6c 20 6e 61 6d 65 2c 20 62 75 74  ntical name, but
1a00: 20 77 69 74 68 20 61 6e 20 61 64 64 65 64 20 27   with an added '
1a10: 3c 62 3e 5f 70 6f 73 74 67 69 73 3c 2f 62 3e 27  <b>_postgis</b>'
1a20: 20 73 75 66 66 69 78 2e 3c 62 72 3e 3c 62 72 3e   suffix.<br><br>
1a30: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62  <br>..<b>Note</b
1a40: 3e 3a 20 74 68 65 73 65 20 61 72 65 20 6e 6f 74  >: these are not
1a50: 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 3c 62   the original <b
1a60: 3e 56 69 72 74 75 61 6c 50 6f 73 74 67 72 65 73  >VirtualPostgres
1a70: 20 54 61 62 6c 65 73 3c 2f 62 3e 20 77 68 69 63   Tables</b> whic
1a80: 68 20 73 74 6f 72 65 20 74 68 65 20 47 65 6f 6d  h store the Geom
1a90: 65 74 72 69 65 73 20 69 6e 20 74 68 65 20 6f 72  etries in the or
1aa0: 69 67 69 6e 61 6c 20 50 6f 73 74 67 72 65 73 20  iginal Postgres 
1ab0: 62 69 6e 61 72 79 20 66 6f 72 6d 61 74 2c 20 62  binary format, b
1ac0: 75 74 20 61 72 65 20 69 6e 73 74 65 61 64 20 53  ut are instead S
1ad0: 70 61 74 69 61 6c 69 74 65 27 73 20 6f 77 6e 20  patialite's own 
1ae0: 3c 62 3e 53 70 61 74 69 61 6c 20 56 69 65 77 73  <b>Spatial Views
1af0: 3c 2f 62 3e 20 63 6f 6e 74 61 69 6e 69 6e 67 20  </b> containing 
1b00: 47 65 6f 6d 65 74 72 69 65 73 20 63 6f 6e 76 65  Geometries conve
1b10: 72 74 65 64 20 74 6f 20 74 68 65 20 53 70 61 74  rted to the Spat
1b20: 69 61 6c 69 74 65 20 62 69 6e 61 72 79 20 66 6f  ialite binary fo
1b30: 72 6d 61 74 2e 20 54 68 65 20 63 6f 6e 76 65 72  rmat. The conver
1b40: 73 69 6f 6e 20 62 65 74 77 65 65 6e 20 74 68 65  sion between the
1b50: 20 74 77 6f 20 66 6f 72 6d 61 74 73 20 61 72 65   two formats are
1b60: 20 64 6f 6e 65 20 69 6e 20 74 68 65 20 62 61 63   done in the bac
1b70: 6b 67 72 6f 75 6e 64 20 61 6e 64 20 74 68 75 73  kground and thus
1b80: 2c 20 66 6f 72 20 74 68 65 20 75 73 65 72 2c 20  , for the user, 
1b90: 69 6e 20 61 20 63 6f 6d 70 6c 65 61 74 6c 79 20  in a compleatly 
1ba0: 74 72 61 6e 73 70 61 72 65 6e 74 20 77 61 79 2e  transparent way.
1bb0: 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20  </td>..<td><img 
1bc0: 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77  src="https://www
1bd0: 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69  .gaia-gis.it/gai
1be0: 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67  a-sins/gui-postg
1bf0: 72 65 73 2f 67 75 69 31 31 2e 70 6e 67 22 20 61  res/gui11.png" a
1c00: 6c 74 3d 22 70 6f 73 74 67 69 73 20 77 72 61 70  lt="postgis wrap
1c10: 70 65 72 20 6d 65 74 61 64 61 74 61 22 3e 3c 2f  per metadata"></
1c20: 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e  td>..</tr>..<tr>
1c30: 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32 22 20  <td colspan="2" 
1c40: 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22 3e 3c  align="center"><
1c50: 68 33 3e 34 20 2d 20 48 61 6e 64 6c 69 6e 67 20  h3>4 - Handling 
1c60: 50 6f 73 74 67 72 65 53 51 4c 20 54 61 62 6c 65  PostgreSQL Table
1c70: 73 20 61 6e 64 20 56 69 65 77 73 3c 2f 68 33 3e  s and Views</h3>
1c80: 3c 68 72 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a  <hr></td></tr>..
1c90: 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 61  <tr>..<td><b>4.a
1ca0: 3c 2f 62 3e 20 50 6f 73 74 67 72 65 53 51 4c 20  </b> PostgreSQL 
1cb0: 54 61 62 6c 65 73 20 61 6e 64 20 56 69 65 77 73  Tables and Views
1cc0: 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 2c   are considered,
1cd0: 20 61 73 20 66 61 72 20 61 73 20 70 6f 73 73 69   as far as possi
1ce0: 62 6c 65 2c 20 61 73 20 69 66 20 74 68 65 79 20  ble, as if they 
1cf0: 77 65 72 65 20 6e 61 74 69 76 65 20 53 51 4c 69  were native SQLi
1d00: 74 65 20 6f 62 6a 65 63 74 73 2e 3c 62 72 3e 0d  te objects.<br>.
1d10: 0a 53 6f 20 74 68 65 20 75 73 75 61 6c 20 6f 70  .So the usual op
1d20: 65 72 61 74 69 6f 6e 73 20 73 75 70 70 6f 72 74  erations support
1d30: 65 64 20 6f 6e 20 53 51 4c 69 74 65 27 73 20 6f  ed on SQLite's o
1d40: 77 6e 20 6f 62 6a 65 63 74 73 20 77 69 6c 6c 20  wn objects will 
1d50: 62 65 20 73 75 70 70 6f 72 74 65 64 20 61 6c 73  be supported als
1d60: 6f 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66  o in the case of
1d70: 20 50 6f 73 74 67 72 65 53 51 4c 20 6f 62 6a 65   PostgreSQL obje
1d80: 63 74 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c  cts.</td>..<td><
1d90: 69 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f  img src="https:/
1da0: 2f 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74  /www.gaia-gis.it
1db0: 2f 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70  /gaia-sins/gui-p
1dc0: 6f 73 74 67 72 65 73 2f 67 75 69 31 32 2e 70 6e  ostgres/gui12.pn
1dd0: 67 22 20 61 6c 74 3d 22 74 61 62 6c 65 20 6f 70  g" alt="table op
1de0: 65 72 61 74 69 6f 6e 73 22 3e 3c 2f 74 64 3e 0d  erations"></td>.
1df0: 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74  .</tr>..<tr>..<t
1e00: 64 3e 3c 62 3e 34 2e 62 3c 2f 62 3e 20 54 68 65  d><b>4.b</b> The
1e10: 20 61 62 6f 76 65 20 63 72 69 74 65 72 69 61 20   above criteria 
1e20: 77 69 6c 6c 20 61 70 70 6c 79 20 61 6c 73 6f 20  will apply also 
1e30: 74 6f 20 50 6f 73 74 47 49 53 20 47 65 6f 6d 65  to PostGIS Geome
1e40: 74 72 69 65 73 2e 3c 62 72 3e 3c 62 72 3e 3c 62  tries.<br><br><b
1e50: 72 3e 0d 0a 3c 62 3e 48 69 6e 74 3c 2f 62 3e 3a  r>..<b>Hint</b>:
1e60: 20 65 78 70 6f 72 74 69 6e 67 20 61 20 66 75 6c   exporting a ful
1e70: 6c 20 53 68 61 70 65 66 69 6c 65 20 66 72 6f 6d  l Shapefile from
1e80: 20 61 20 50 6f 73 74 47 49 53 20 54 61 62 6c 65   a PostGIS Table
1e90: 20 77 61 73 20 6e 65 76 65 72 20 6d 6f 72 65 20   was never more 
1ea0: 64 69 72 65 63 74 20 61 6e 64 20 73 69 6d 70 6c  direct and simpl
1eb0: 65 20 74 68 61 6e 20 74 68 69 73 2e 3c 2f 74 64  e than this.</td
1ec0: 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d  >..<td><img src=
1ed0: 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69  "https://www.gai
1ee0: 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69  a-gis.it/gaia-si
1ef0: 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f  ns/gui-postgres/
1f00: 67 75 69 31 33 2e 70 6e 67 22 20 61 6c 74 3d 22  gui13.png" alt="
1f10: 67 65 6f 6d 65 74 72 79 20 6f 70 65 72 61 74 69  geometry operati
1f20: 6f 6e 73 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72  ons"></td>..</tr
1f30: 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e  >..<tr>..<td><b>
1f40: 34 2e 63 3c 2f 62 3e 20 62 65 20 77 61 72 6e 65  4.c</b> be warne
1f50: 64 3a 20 64 69 72 65 63 74 6c 79 20 71 75 65 72  d: directly quer
1f60: 79 69 6e 67 20 61 20 3c 62 3e 50 6f 73 74 47 49  ying a <b>PostGI
1f70: 53 20 54 61 62 6c 65 3c 2f 62 3e 20 28 69 2e 65  S Table</b> (i.e
1f80: 2e 20 61 20 56 69 72 74 75 61 6c 50 6f 73 74 67  . a VirtualPostg
1f90: 72 65 73 20 54 61 62 6c 65 20 63 6f 6e 74 61 69  res Table contai
1fa0: 6e 69 6e 67 20 50 6f 73 74 47 49 53 20 47 65 6f  ning PostGIS Geo
1fb0: 6d 65 74 72 69 65 73 29 20 6e 65 76 65 72 20 69  metries) never i
1fc0: 73 20 61 20 67 6f 6f 64 20 69 64 65 61 2e 0d 0a  s a good idea...
1fd0: 46 6f 72 20 72 65 61 73 6f 6e 73 20 65 78 70 6c  For reasons expl
1fe0: 61 69 6e 65 64 20 69 6e 20 3c 62 3e 34 2e 64 3c  ained in <b>4.d<
1ff0: 2f 62 3e 2c 20 79 6f 75 27 6c 6c 20 62 65 20 61  /b>, you'll be a
2000: 6c 77 61 79 73 20 61 73 6b 65 64 20 3c 62 3e 74  lways asked <b>t
2010: 77 69 63 65 3c 2f 62 3e 20 62 65 66 6f 72 65 20  wice</b> before 
2020: 73 74 61 72 74 69 6e 67 20 73 75 63 68 20 61 6e  starting such an
2030: 20 65 78 74 65 6e 73 69 76 65 20 28 61 6e 64 20   extensive (and 
2040: 70 6f 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e 67  potentially dang
2050: 65 72 6f 75 73 29 20 61 63 74 69 6f 6e 2e 3c 2f  erous) action.</
2060: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
2070: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
2080: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
2090: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65  sins/gui-postgre
20a0: 73 2f 67 75 69 31 37 2e 70 6e 67 22 20 61 6c 74  s/gui17.png" alt
20b0: 3d 22 64 69 72 65 63 74 20 70 6f 73 74 67 69 73  ="direct postgis
20c0: 20 71 75 65 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c   query"></td>..<
20d0: 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e  /tr>..<tr>..<td>
20e0: 3c 62 3e 34 2e 64 3c 2f 62 3e 20 54 68 65 20 72  <b>4.d</b> The r
20f0: 65 61 73 6f 6e 20 66 6f 72 20 73 75 63 68 20 61  eason for such a
2100: 20 62 65 68 61 76 69 6f 75 72 20 69 73 20 63 6c   behaviour is cl
2110: 65 61 72 6c 79 20 73 68 6f 77 6e 20 69 6e 20 74  early shown in t
2120: 68 65 20 73 69 64 65 20 66 69 67 75 72 65 2e 3c  he side figure.<
2130: 62 72 3e 0d 0a 41 20 56 69 72 74 75 61 6c 50 6f  br>..A VirtualPo
2140: 73 74 67 72 65 73 20 54 61 62 6c 65 20 77 69 6c  stgres Table wil
2150: 6c 20 65 78 70 6f 73 65 20 61 6c 6c 20 47 65 6f  l expose all Geo
2160: 6d 65 74 72 69 65 73 20 61 73 20 3c 62 3e 45 57  metries as <b>EW
2170: 4b 42 20 74 65 78 74 20 73 74 72 69 6e 67 73 3c  KB text strings<
2180: 2f 62 3e 20 75 73 69 6e 67 20 61 6e 20 68 65 78  /b> using an hex
2190: 61 64 65 63 69 6d 61 6c 20 6e 6f 74 61 74 69 6f  adecimal notatio
21a0: 6e 3b 20 69 6e 20 74 68 69 73 20 63 61 73 65 20  n; in this case 
21b0: 77 65 20 68 61 76 65 20 73 69 6d 70 6c 65 20 50  we have simple P
21c0: 4f 49 4e 54 53 2c 20 61 6e 64 20 74 68 65 20 45  OINTS, and the E
21d0: 57 4b 42 20 73 74 72 69 6e 67 73 20 61 72 65 20  WKB strings are 
21e0: 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6d 70 61  reasonably compa
21f0: 63 74 2e 3c 62 72 3e 0d 0a 42 75 74 20 75 6e 68  ct.<br>..But unh
2200: 61 70 70 69 6c 79 20 63 6f 6d 70 6c 65 78 20 4c  appily complex L
2210: 49 4e 45 53 54 52 49 4e 47 20 6f 72 20 50 4f 4c  INESTRING or POL
2220: 59 47 4f 4e 20 47 65 6f 6d 65 74 72 69 65 73 20  YGON Geometries 
2230: 6d 61 79 20 65 61 73 69 6c 79 20 72 65 71 75 69  may easily requi
2240: 72 65 20 73 65 76 65 72 61 6c 20 6d 69 6c 6c 69  re several milli
2250: 6f 6e 20 63 68 61 72 61 63 74 65 72 73 2c 20 61  on characters, a
2260: 6e 64 20 74 68 69 73 20 77 69 6c 6c 20 65 61 73  nd this will eas
2270: 69 6c 79 20 6f 76 65 72 20 73 74 72 65 73 73 20  ily over stress 
2280: 74 68 65 20 47 55 49 2e 3c 62 72 3e 0d 0a 54 68  the GUI.<br>..Th
2290: 65 20 65 78 65 63 75 74 69 6f 6e 20 73 70 65 65  e execution spee
22a0: 64 20 6f 66 20 73 75 63 68 20 61 20 71 75 65 72  d of such a quer
22b0: 79 20 77 69 6c 6c 20 63 65 72 74 61 69 6e 6c 79  y will certainly
22c0: 20 62 65 20 3c 62 3e 76 65 72 79 3c 2f 62 3e 20   be <b>very</b> 
22d0: 73 6c 75 67 67 69 73 68 2c 20 61 6e 64 20 69 6e  sluggish, and in
22e0: 73 74 61 62 69 6c 69 74 79 20 70 72 6f 62 6c 65  stability proble
22f0: 6d 73 2c 20 63 61 75 73 65 64 20 62 79 20 65 78  ms, caused by ex
2300: 63 65 73 73 69 76 65 20 6d 65 6d 6f 72 79 20 75  cessive memory u
2310: 73 65 2c 20 63 6f 75 6c 64 20 65 76 65 6e 74 75  se, could eventu
2320: 61 6c 6c 79 20 61 72 69 73 65 2e 3c 62 72 3e 3c  ally arise.<br><
2330: 62 72 3e 3c 62 72 3e 0d 0a 3c 62 3e 53 68 6f 72  br><br>..<b>Shor
2340: 74 20 63 6f 6e 63 6c 75 73 69 6f 6e 3c 2f 62 3e  t conclusion</b>
2350: 3a 20 6e 65 76 65 72 2c 20 65 76 65 72 2c 20 61  : never, ever, a
2360: 74 74 65 6d 70 74 20 74 6f 20 64 69 72 65 63 74  ttempt to direct
2370: 6c 79 20 71 75 65 72 79 20 61 20 50 6f 73 74 47  ly query a PostG
2380: 49 53 20 54 61 62 6c 65 20 21 3c 2f 74 64 3e 0d  IS Table !</td>.
2390: 0a 3c 74 64 3e 3c 69 6d 67 20 73 72 63 3d 22 68  .<td><img src="h
23a0: 74 74 70 73 3a 2f 2f 77 77 77 2e 67 61 69 61 2d  ttps://www.gaia-
23b0: 67 69 73 2e 69 74 2f 67 61 69 61 2d 73 69 6e 73  gis.it/gaia-sins
23c0: 2f 67 75 69 2d 70 6f 73 74 67 72 65 73 2f 67 75  /gui-postgres/gu
23d0: 69 31 35 2e 70 6e 67 22 20 61 6c 74 3d 22 64 69  i15.png" alt="di
23e0: 72 65 63 74 20 70 6f 73 74 67 69 73 20 71 75 65  rect postgis que
23f0: 72 79 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ry"></td>..</tr>
2400: 0d 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 34  ..<tr>..<td><b>4
2410: 2e 65 3c 2f 62 3e 20 54 6f 20 61 76 6f 69 64 20  .e</b> To avoid 
2420: 74 68 69 73 20 70 72 6f 62 6c 65 6d 2c 20 61 20  this problem, a 
2430: 63 6f 6d 70 61 6e 69 6f 6e 20 53 70 61 74 69 61  companion Spatia
2440: 6c 20 56 69 65 77 20 65 78 69 73 74 73 20 66 6f  l View exists fo
2450: 72 20 65 76 65 72 79 20 50 6f 73 74 47 49 53 20  r every PostGIS 
2460: 54 61 62 6c 65 2c 20 61 6e 64 20 69 73 20 73 70  Table, and is sp
2470: 65 63 69 66 69 63 61 6c 6c 79 20 69 6e 74 65 6e  ecifically inten
2480: 64 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 73  ded to support s
2490: 61 66 65 20 61 6e 64 20 74 72 6f 75 62 6c 65 20  afe and trouble 
24a0: 66 72 65 65 20 71 75 65 72 69 65 73 2e 3c 62 72  free queries.<br
24b0: 3e 0d 0a 41 6c 73 6f 20 74 68 65 20 53 70 61 74  >..Also the Spat
24c0: 69 61 6c 20 56 69 65 77 20 77 69 6c 6c 20 74 61  ial View will ta
24d0: 6b 65 20 63 61 72 65 20 74 6f 20 73 69 6c 65 6e  ke care to silen
24e0: 74 6c 79 20 63 6f 6e 76 65 72 74 20 62 69 6e 61  tly convert bina
24f0: 72 79 20 47 65 6f 6d 65 74 72 69 65 73 20 74 6f  ry Geometries to
2500: 20 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 6e 65   and from the ne
2510: 65 64 65 64 20 66 6f 72 6d 61 74 2c 20 73 69 6d  eded format, sim
2520: 70 6c 69 66 79 69 6e 67 20 74 68 65 20 77 72 69  plifying the wri
2530: 74 69 6e 67 20 6f 66 20 63 75 73 74 6f 6d 69 7a  ting of customiz
2540: 65 64 20 53 51 4c 20 71 75 65 72 69 65 73 20 75  ed SQL queries u
2550: 73 69 6e 67 20 53 70 61 74 69 61 6c 20 46 75 6e  sing Spatial Fun
2560: 63 74 69 6f 6e 73 20 73 69 6e 63 65 20 74 68 65  ctions since the
2570: 20 75 73 65 72 20 64 6f 65 73 20 6e 6f 74 20 6e   user does not n
2580: 65 65 64 20 74 6f 20 64 6f 20 61 6e 79 20 62 69  eed to do any bi
2590: 6e 61 72 79 20 63 6f 6e 76 65 72 73 69 6f 6e 73  nary conversions
25a0: 20 6f 66 20 74 68 65 20 47 65 6f 6d 65 74 72 69   of the Geometri
25b0: 65 73 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69  es.</td>..<td><i
25c0: 6d 67 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f  mg src="https://
25d0: 77 77 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f  www.gaia-gis.it/
25e0: 67 61 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f  gaia-sins/gui-po
25f0: 73 74 67 72 65 73 2f 67 75 69 31 36 2e 70 6e 67  stgres/gui16.png
2600: 22 20 61 6c 74 3d 22 69 6e 64 69 72 65 63 74 20  " alt="indirect 
2610: 70 6f 73 74 67 69 73 20 71 75 65 72 79 22 3e 3c  postgis query"><
2620: 2f 74 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72  /td>..</tr>..<tr
2630: 3e 0d 0a 3c 74 64 3e 3c 62 3e 34 2e 66 3c 2f 62  >..<td><b>4.f</b
2640: 3e 20 54 68 65 20 63 6f 6d 70 61 6e 69 6f 6e 20  > The companion 
2650: 53 70 61 74 69 61 6c 20 56 69 65 77 20 77 69 6c  Spatial View wil
2660: 6c 20 61 6c 77 61 79 73 20 62 65 20 61 20 3c 62  l always be a <b
2670: 3e 57 72 69 74 61 62 6c 65 20 56 69 65 77 3c 2f  >Writable View</
2680: 62 3e 20 77 68 65 6e 20 74 68 65 20 63 6f 72 72  b> when the corr
2690: 65 73 70 6f 6e 64 69 6e 67 20 50 6f 73 74 47 49  esponding PostGI
26a0: 53 20 54 61 62 6c 65 20 69 73 20 61 70 70 72 6f  S Table is appro
26b0: 70 72 69 61 74 65 6c 79 20 65 6e 61 62 6c 65 64  priately enabled
26c0: 20 61 6e 64 20 77 68 65 6e 20 74 68 65 20 63 6f   and when the co
26d0: 6e 6e 65 63 74 69 6f 6e 20 73 75 70 70 6f 72 74  nnection support
26e0: 73 20 52 45 41 44 2d 57 52 49 54 45 20 6f 70 65  s READ-WRITE ope
26f0: 72 61 74 69 6f 6e 73 2e 3c 62 72 3e 3c 62 72 3e  rations.<br><br>
2700: 3c 62 72 3e 0d 0a 3c 62 3e 4e 6f 74 65 3c 2f 62  <br>..<b>Note</b
2710: 3e 3a 20 41 6c 6c 20 61 70 70 72 6f 70 72 69 61  >: All appropria
2720: 74 65 20 54 72 69 67 67 65 72 73 20 28 73 75 70  te Triggers (sup
2730: 70 6f 72 74 69 6e 67 20 3c 62 3e 49 4e 53 45 52  porting <b>INSER
2740: 54 3c 2f 62 3e 2c 20 3c 62 3e 55 50 44 41 54 45  T</b>, <b>UPDATE
2750: 3c 2f 62 3e 20 61 6e 64 20 3c 62 3e 44 45 4c 45  </b> and <b>DELE
2760: 54 45 3c 2f 62 3e 20 6f 70 65 72 61 74 69 6f 6e  TE</b> operation
2770: 73 29 2c 20 66 6f 72 20 61 20 57 72 69 74 61 62  s), for a Writab
2780: 6c 65 20 53 70 61 74 69 61 6c 20 56 69 65 77 2c  le Spatial View,
2790: 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 6d 61 74   will be automat
27a0: 69 63 61 6c 6c 79 20 63 72 65 61 74 65 64 2e 3c  ically created.<
27b0: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73  /td>..<td><img s
27c0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
27d0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
27e0: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72  -sins/gui-postgr
27f0: 65 73 2f 67 75 69 31 34 2e 70 6e 67 22 20 61 6c  es/gui14.png" al
2800: 74 3d 22 70 6f 73 74 67 69 73 20 65 64 69 74 69  t="postgis editi
2810: 6e 67 22 3e 3c 2f 74 64 3e 0d 0a 3c 2f 74 72 3e  ng"></td>..</tr>
2820: 0d 0a 3c 74 72 3e 3c 74 64 20 63 6f 6c 73 70 61  ..<tr><td colspa
2830: 6e 3d 22 32 22 20 61 6c 69 67 6e 3d 22 63 65 6e  n="2" align="cen
2840: 74 65 72 22 3e 3c 68 33 3e 3c 61 20 6e 61 6d 65  ter"><h3><a name
2850: 3d 22 61 64 64 65 6e 64 75 6d 22 3e 41 64 64 65  ="addendum">Adde
2860: 6e 64 75 6d 3c 2f 61 3e 3a 20 73 70 65 63 69 61  ndum</a>: specia
2870: 6c 20 6e 6f 74 65 20 66 6f 72 20 57 69 6e 64 6f  l note for Windo
2880: 77 73 20 75 73 65 72 73 3c 2f 68 33 3e 3c 68 72  ws users</h3><hr
2890: 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74 72  ></td></tr>..<tr
28a0: 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 20 3d 20 22  ><td colspan = "
28b0: 32 22 3e 0d 0a 41 6c 6c 20 70 72 65 76 69 6f 75  2">..All previou
28c0: 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68  s versions of th
28d0: 65 20 47 55 49 20 62 69 6e 61 72 69 65 73 20 72  e GUI binaries r
28e0: 65 6c 65 61 73 65 64 20 69 6e 20 74 68 65 20 70  eleased in the p
28f0: 61 73 74 20 77 65 72 65 20 61 6c 77 61 79 73 20  ast were always 
2900: 62 61 73 65 64 20 6f 6e 20 61 20 73 69 6e 67 6c  based on a singl
2910: 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 3c 62 3e  e monolithic <b>
2920: 2e 65 78 65 3c 2f 62 3e 20 66 75 6c 6c 79 20 64  .exe</b> fully d
2930: 65 70 65 6e 64 69 6e 67 20 6f 6e 20 73 74 61 74  epending on stat
2940: 69 63 20 6c 69 6e 6b 61 67 65 2c 20 6e 6f 74 20  ic linkage, not 
2950: 72 65 71 75 69 72 69 6e 67 20 61 6e 79 20 6f 74  requiring any ot
2960: 68 65 72 20 44 4c 4c 20 61 74 20 61 6c 6c 2e 3c  her DLL at all.<
2970: 62 72 3e 3c 62 72 3e 0d 0a 55 6e 68 61 70 70 69  br><br>..Unhappi
2980: 6c 79 20 74 68 69 73 20 69 73 20 6e 6f 20 6c 6f  ly this is no lo
2990: 6e 67 65 72 20 70 6f 73 73 69 62 6c 65 2c 20 73  nger possible, s
29a0: 69 6e 63 65 20 3c 62 3e 6c 69 62 70 71 3c 2f 62  ince <b>libpq</b
29b0: 3e 20 28 3c 69 3e 74 68 65 20 50 6f 73 74 67 72  > (<i>the Postgr
29c0: 65 53 51 4c 20 6f 77 6e 20 63 6c 69 65 6e 74 20  eSQL own client 
29d0: 6c 69 62 72 61 72 79 3c 2f 69 3e 29 20 69 73 20  library</i>) is 
29e0: 6f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 61  only available a
29f0: 73 20 61 20 44 4c 4c 20 6f 6e 20 57 69 6e 64 6f  s a DLL on Windo
2a00: 77 73 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72  ws, and therefor
2a10: 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64  e cannot be used
2a20: 20 74 6f 20 63 72 65 61 74 65 20 61 20 63 6f 72   to create a cor
2a30: 72 65 73 70 6f 6e 64 69 6e 67 20 73 74 61 74 69  responding stati
2a40: 63 20 6c 69 62 72 61 72 79 2e 3c 62 72 3e 0d 0a  c library.<br>..
2a50: 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 3a 20  More precisely: 
2a60: 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 72 79  a static library
2a70: 20 69 73 20 61 63 74 75 61 6c 6c 79 20 62 75 69   is actually bui
2a80: 6c 74 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  lt when compilin
2a90: 67 20 50 6f 73 74 67 72 65 53 51 4c 2c 20 62 75  g PostgreSQL, bu
2aa0: 74 20 6f 6e 20 57 69 6e 64 6f 77 73 20 69 74 20  t on Windows it 
2ab0: 73 69 6d 70 6c 79 20 69 73 20 61 20 73 74 75 62  simply is a stub
2ac0: 20 73 74 69 6c 6c 20 72 65 71 75 69 72 69 6e 67   still requiring
2ad0: 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 44 4c 4c   to load the DLL
2ae0: 20 61 74 20 72 75 6e 20 74 69 6d 65 2e 3c 62 72   at run time.<br
2af0: 3e 3c 62 72 3e 3c 62 72 3e 0d 0a 46 6f 72 20 74  ><br><br>..For t
2b00: 68 69 73 20 72 65 61 73 6f 6e 2c 20 3c 62 3e 73  his reason, <b>s
2b10: 70 61 74 69 61 6c 69 74 65 5f 67 75 69 2e 65 78  patialite_gui.ex
2b20: 65 3c 2f 62 3e 2c 20 77 68 69 63 68 20 6f 74 68  e</b>, which oth
2b30: 65 72 77 69 73 65 20 64 65 70 65 6e 64 73 20 6f  erwise depends o
2b40: 6e 20 61 20 73 74 61 74 69 63 20 6c 69 6e 6b 61  n a static linka
2b50: 67 65 2c 20 6d 75 73 74 20 6d 61 6b 65 20 61 6e  ge, must make an
2b60: 20 65 78 63 65 70 74 69 6f 6e 20 66 6f 72 20 3c   exception for <
2b70: 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e 2e  b>libpq.dll</b>.
2b80: 3c 62 72 3e 0d 0a 53 6f 20 61 20 72 65 61 73 6f  <br>..So a reaso
2b90: 6e 61 62 6c 65 20 63 6f 6d 70 72 6f 6d 69 73 65  nable compromise
2ba0: 20 68 61 73 20 62 65 65 6e 20 61 64 6f 70 74 65   has been adopte
2bb0: 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 69  d in order to mi
2bc0: 74 69 67 61 74 65 20 74 68 65 20 6e 65 67 61 74  tigate the negat
2bd0: 69 76 65 20 69 6d 70 61 63 74 20 6f 66 20 73 75  ive impact of su
2be0: 63 68 20 61 6e 20 6f 64 64 20 63 6f 6d 62 69 6e  ch an odd combin
2bf0: 61 74 69 6f 6e 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c  ation:..<ul>..<l
2c00: 69 3e 74 68 65 20 62 69 6e 61 72 69 65 73 20 66  i>the binaries f
2c10: 6f 72 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66  or Windows platf
2c20: 6f 72 6d 73 20 77 69 6c 6c 20 62 65 20 62 75 69  orms will be bui
2c30: 6c 74 20 69 6e 20 73 75 63 68 20 61 20 77 61 79  lt in such a way
2c40: 20 74 68 61 74 20 3c 62 3e 6c 69 62 70 71 2e 64   that <b>libpq.d
2c50: 6c 6c 3c 2f 62 3e 20 77 69 6c 6c 20 73 75 70 70  ll</b> will supp
2c60: 6f 72 74 20 77 68 61 74 20 69 73 20 67 65 6e 65  ort what is gene
2c70: 72 61 6c 6c 79 20 6b 6e 6f 77 6e 20 61 73 20 3c  rally known as <
2c80: 62 3e 6c 61 74 65 20 62 69 6e 64 69 6e 67 3c 2f  b>late binding</
2c90: 62 3e 20 61 6b 61 20 3c 62 3e 64 65 66 65 72 72  b> aka <b>deferr
2ca0: 65 64 20 62 69 6e 64 69 6e 67 3c 2f 62 3e 2e 3c  ed binding</b>.<
2cb0: 2f 6c 69 3e 0d 0a 3c 6c 69 3e 74 68 69 73 20 77  /li>..<li>this w
2cc0: 61 79 2c 20 74 68 65 20 6d 61 69 6e 20 63 6f 72  ay, the main cor
2cd0: 65 20 6f 66 20 74 68 65 20 47 55 49 20 20 77 69  e of the GUI  wi
2ce0: 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 77  ll continue to w
2cf0: 6f 72 6b 20 77 69 74 68 6f 75 74 20 6c 6f 61 64  ork without load
2d00: 69 6e 67 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c  ing <b>libpq.dll
2d10: 3c 2f 62 3e 2e 3c 2f 6c 69 3e 0d 0a 3c 6c 69 3e  </b>.</li>..<li>
2d20: 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62 3e  <b>libpq.dll</b>
2d30: 20 77 69 6c 6c 20 62 65 20 6f 6e 6c 79 20 62 65   will be only be
2d40: 20 6c 6f 61 64 65 64 20 77 68 65 6e 20 6e 65 65   loaded when nee
2d50: 64 65 64 20 28 69 2e 65 2e 20 77 68 65 6e 20 74  ded (i.e. when t
2d60: 68 65 20 75 73 65 72 20 72 65 71 75 65 73 74 73  he user requests
2d70: 20 61 20 50 6f 73 74 67 72 65 53 51 4c 20 63 6f   a PostgreSQL co
2d80: 6e 6e 65 63 74 69 6f 6e 29 2e 3c 2f 6c 69 3e 0d  nnection).</li>.
2d90: 0a 3c 6c 69 3e 69 66 20 74 68 65 20 44 4c 4c 20  .<li>if the DLL 
2da0: 66 61 69 6c 73 20 74 6f 20 62 65 20 6c 6f 61 64  fails to be load
2db0: 65 64 20 66 6f 72 20 61 6e 79 20 72 65 61 73 6f  ed for any reaso
2dc0: 6e 2c 20 74 68 65 20 50 6f 73 74 67 72 65 53 51  n, the PostgreSQ
2dd0: 4c 20 73 75 70 70 6f 72 74 20 77 69 6c 6c 20 72  L support will r
2de0: 65 6d 61 69 6e 20 64 69 73 61 62 6c 65 64 20 61  emain disabled a
2df0: 6e 64 20 74 68 65 20 47 55 49 20 77 69 6c 6c 20  nd the GUI will 
2e00: 63 6f 6e 74 69 6e 75 65 20 75 6e 61 66 66 65 63  continue unaffec
2e10: 74 65 64 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e  ted.</li>..</ul>
2e20: 0d 0a 3c 2f 74 64 3e 3c 2f 74 72 3e 0d 0a 3c 74  ..</td></tr>..<t
2e30: 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 32  r><td colspan="2
2e40: 22 20 61 6c 69 67 6e 3d 22 63 65 6e 74 65 72 22  " align="center"
2e50: 3e 3c 68 33 3e 48 6f 77 20 74 6f 20 6c 6f 61 64  ><h3>How to load
2e60: 20 4c 69 62 50 47 2c 20 77 68 65 6e 20 69 74 20   LibPG, when it 
2e70: 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 75 74  has not been aut
2e80: 6f 6d 61 74 69 63 61 6c 6c 79 20 66 6f 75 6e 64  omatically found
2e90: 3c 2f 68 33 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 0d  </h3></td></tr>.
2ea0: 0a 3c 74 72 3e 0d 0a 3c 74 64 3e 3c 62 3e 41 2e  .<tr>..<td><b>A.
2eb0: 31 3c 2f 62 3e 20 3c 62 3e 6c 69 62 70 71 2e 64  1</b> <b>libpq.d
2ec0: 6c 6c 3c 2f 62 3e 20 77 69 6c 6c 20 62 65 20 6c  ll</b> will be l
2ed0: 6f 61 64 65 64 20 77 68 65 6e 20 61 63 63 65 73  oaded when acces
2ee0: 73 69 6e 67 20 61 20 50 6f 73 74 67 72 65 53 51  sing a PostgreSQ
2ef0: 4c 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20  L for the first 
2f00: 74 69 6d 65 3a 0d 0a 3c 75 6c 3e 0d 0a 3c 6c 69  time:..<ul>..<li
2f10: 3e 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 61 74  >an automatic at
2f20: 74 65 6d 70 74 20 77 69 6c 6c 20 62 65 20 70 65  tempt will be pe
2f30: 72 66 6f 72 6d 65 64 20 61 63 63 6f 72 64 69 6e  rformed accordin
2f40: 67 6c 79 20 74 6f 20 74 68 65 20 73 74 61 6e 64  gly to the stand
2f50: 61 72 64 20 70 6c 61 74 66 6f 72 6d 20 72 75 6c  ard platform rul
2f60: 65 73 20 28 6d 6f 73 74 6c 79 3a 20 73 65 61 72  es (mostly: sear
2f70: 63 68 20 70 61 74 68 73 29 2e 3c 62 72 3e 0d 0a  ch paths).<br>..
2f80: 3c 62 3e 48 69 6e 74 3c 2f 62 3e 3a 20 6f 6e 20  <b>Hint</b>: on 
2f90: 57 69 6e 64 6f 77 73 2c 20 70 6c 61 63 69 6e 67  Windows, placing
2fa0: 20 74 68 65 20 44 4c 4c 20 69 6e 20 74 68 65 20   the DLL in the 
2fb0: 73 61 6d 65 20 66 6f 6c 64 65 72 20 61 73 20 74  same folder as t
2fc0: 68 65 20 47 55 49 20 65 78 65 63 75 74 61 62 6c  he GUI executabl
2fd0: 65 2c 20 73 69 6d 70 6c 69 66 79 73 20 6d 61 74  e, simplifys mat
2fe0: 74 65 72 73 20 6e 69 63 65 6c 79 2e 3c 2f 6c 69  ters nicely.</li
2ff0: 3e 0d 0a 3c 6c 69 3e 69 66 20 3c 62 3e 6c 69 62  >..<li>if <b>lib
3000: 70 71 2e 64 6c 6c 3c 2f 62 3e 20 63 61 6e 6e 6f  pq.dll</b> canno
3010: 74 20 62 65 20 66 6f 75 6e 64 2c 20 74 68 65 6e  t be found, then
3020: 20 74 68 65 20 75 73 65 72 20 69 73 20 61 73 6b   the user is ask
3030: 65 64 20 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 6c  ed to manually l
3040: 6f 61 64 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c  oad <b>libpq.dll
3050: 3c 2f 62 3e 2c 20 61 73 20 73 68 6f 77 6e 20 62  </b>, as shown b
3060: 79 20 74 68 65 20 73 69 64 65 20 66 69 67 75 72  y the side figur
3070: 65 2e 3c 2f 6c 69 3e 0d 0a 3c 2f 75 6c 3e 3c 2f  e.</li>..</ul></
3080: 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73 72  td>..<td><img sr
3090: 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67  c="https://www.g
30a0: 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61 2d  aia-gis.it/gaia-
30b0: 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72 65  sins/gui-postgre
30c0: 73 2f 6c 69 62 70 71 2d 64 65 66 65 72 72 65 64  s/libpq-deferred
30d0: 31 2e 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62 70  1.png" alt="libp
30e0: 71 20 6e 6f 74 20 66 6f 75 6e 64 22 3e 3c 2f 74  q not found"></t
30f0: 64 3e 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d  d>..</tr>..<tr>.
3100: 0a 3c 74 64 3e 3c 62 3e 41 2e 32 3c 2f 62 3e 20  .<td><b>A.2</b> 
3110: 54 68 65 20 73 74 61 6e 64 61 72 64 20 46 69 6c  The standard Fil
3120: 65 20 53 65 6c 65 63 74 69 6f 6e 20 64 69 61 6c  e Selection dial
3130: 6f 67 20 63 61 6e 20 62 65 20 75 73 65 64 20 74  og can be used t
3140: 6f 20 6c 6f 63 61 74 65 20 61 6e 64 20 6f 70 65  o locate and ope
3150: 6e 20 74 68 65 20 3c 62 3e 6c 69 62 70 71 2e 64  n the <b>libpq.d
3160: 6c 6c 3c 2f 62 3e 2e 3c 62 72 3e 3c 62 72 3e 3c  ll</b>.<br><br><
3170: 62 72 3e 0d 0a 3c 62 3e 57 61 72 6e 69 6e 67 3c  br>..<b>Warning<
3180: 2f 62 3e 3a 20 61 20 63 6f 6d 6d 6f 6e 20 70 69  /b>: a common pi
3190: 74 66 61 6c 6c 20 69 73 20 61 74 74 65 6d 70 74  tfall is attempt
31a0: 69 6e 67 20 74 6f 20 6c 6f 61 64 20 61 20 33 32  ing to load a 32
31b0: 2f 36 34 20 62 69 74 20 44 4c 4c 20 74 6f 20 61  /64 bit DLL to a
31c0: 20 36 34 2f 33 32 20 62 69 74 20 47 55 49 2e 3c   64/32 bit GUI.<
31d0: 62 72 3e 0d 0a 54 68 65 20 63 6f 64 65 20 6d 6f  br>..The code mo
31e0: 64 65 6c 20 28 33 32 2f 36 34 20 62 69 74 29 20  del (32/64 bit) 
31f0: 6f 66 20 62 6f 74 68 20 74 68 65 20 65 78 65 63  of both the exec
3200: 75 74 61 62 6c 65 20 61 6e 64 20 74 68 65 20 44  utable and the D
3210: 4c 4c 20 6d 75 73 74 20 74 68 65 20 73 61 6d 65  LL must the same
3220: 2e 3c 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67  .</td>..<td><img
3230: 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77   src="https://ww
3240: 77 2e 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61  w.gaia-gis.it/ga
3250: 69 61 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74  ia-sins/gui-post
3260: 67 72 65 73 2f 6c 69 62 70 71 2d 64 65 66 65 72  gres/libpq-defer
3270: 72 65 64 32 2e 70 6e 67 22 20 61 6c 74 3d 22 6c  red2.png" alt="l
3280: 69 62 70 71 20 6f 70 65 6e 22 3e 3c 2f 74 64 3e  ibpq open"></td>
3290: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 74 72 3e 0d 0a 3c  ..</tr>..<tr>..<
32a0: 74 64 3e 3c 62 3e 41 2e 33 3c 2f 62 3e 20 49 66  td><b>A.3</b> If
32b0: 20 3c 62 3e 6c 69 62 70 71 2e 64 6c 6c 3c 2f 62   <b>libpq.dll</b
32c0: 3e 20 68 61 73 20 62 65 65 6e 20 73 75 63 63 65  > has been succe
32d0: 73 73 66 75 6c 6c 79 20 6c 6f 61 64 65 64 2c 20  ssfully loaded, 
32e0: 61 20 63 6f 6e 66 69 72 6d 61 74 69 6f 6e 20 6d  a confirmation m
32f0: 65 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20 73  essage will be s
3300: 68 6f 77 6e 20 77 69 74 68 20 74 68 65 20 61 73  hown with the as
3310: 73 6f 63 69 61 74 69 6f 6e 20 62 65 74 77 65 65  sociation betwee
3320: 6e 20 74 68 65 20 47 55 49 20 61 6e 64 20 74 68  n the GUI and th
3330: 65 20 44 4c 4c 20 70 65 72 6d 61 6e 65 6e 74 6c  e DLL permanentl
3340: 79 20 72 65 67 69 73 74 65 72 65 64 2e 3c 62 72  y registered.<br
3350: 3e 0d 0a 4f 6e 63 65 20 73 75 63 63 65 73 73 66  >..Once successf
3360: 75 6c 6c 79 20 6c 6f 61 64 65 64 2c 20 61 6c 6c  ully loaded, all
3370: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73   the following s
3380: 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 75 73 65  essions will use
3390: 20 74 68 69 73 20 61 73 73 6f 63 69 61 74 69 6f   this associatio
33a0: 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2c  n automatically,
33b0: 20 6d 61 6b 69 6e 67 20 74 68 69 73 20 61 20 6f   making this a o
33c0: 6e 65 20 74 69 6d 65 20 65 66 66 6f 72 74 2e 3c  ne time effort.<
33d0: 2f 74 64 3e 0d 0a 3c 74 64 3e 3c 69 6d 67 20 73  /td>..<td><img s
33e0: 72 63 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  rc="https://www.
33f0: 67 61 69 61 2d 67 69 73 2e 69 74 2f 67 61 69 61  gaia-gis.it/gaia
3400: 2d 73 69 6e 73 2f 67 75 69 2d 70 6f 73 74 67 72  -sins/gui-postgr
3410: 65 73 2f 6c 69 62 70 71 2d 64 65 66 65 72 72 65  es/libpq-deferre
3420: 64 33 2e 70 6e 67 22 20 61 6c 74 3d 22 6c 69 62  d3.png" alt="lib
3430: 70 71 20 6c 6f 61 64 65 64 22 3e 3c 2f 74 64 3e  pq loaded"></td>
3440: 0d 0a 3c 2f 74 72 3e 0d 0a 3c 2f 74 61 62 6c 65  ..</tr>..</table
3450: 3e 0d 0a 42 61 63 6b 20 74 6f 20 3c 61 20 68 72  >..Back to <a hr
3460: 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e  ef="https://www.
3470: 67 61 69 61 2d 67 69 73 2e 69 74 2f 66 6f 73 73  gaia-gis.it/foss
3480: 69 6c 2f 73 70 61 74 69 61 6c 69 74 65 5f 67 75  il/spatialite_gu
3490: 69 2f 77 69 6b 69 3f 6e 61 6d 65 3d 73 70 61 74  i/wiki?name=spat
34a0: 69 61 6c 69 74 65 2d 67 75 69 22 3e 6d 61 69 6e  ialite-gui">main
34b0: 20 57 69 6b 69 20 70 61 67 65 3c 2f 61 3e 0a 0a   Wiki page</a>..
34c0: 3c 68 72 20 2f 3e 3c 64 69 76 20 69 64 3d 22 64  <hr /><div id="d
34d0: 62 61 62 33 61 31 65 37 36 30 39 35 61 31 65 22  bab3a1e76095a1e"
34e0: 3e 3c 69 3e 4f 6e 20 32 30 32 34 2d 30 37 2d 31  ><i>On 2024-07-1
34f0: 39 20 30 37 3a 31 30 3a 35 31 20 55 54 43 20 61  9 07:10:51 UTC a
3500: 6e 6f 6e 79 6d 6f 75 73 20 61 64 64 65 64 3a 3c  nonymous added:<
3510: 2f 69 3e 3c 62 72 20 2f 3e 0a 64 64 64 64 3c 2f  /i><br />.dddd</
3520: 64 69 76 20 69 64 3d 22 64 62 61 62 33 61 31 65  div id="dbab3a1e
3530: 37 36 30 39 35 61 31 65 22 3e 0a 5a 20 64 32 32  76095a1e">.Z d22
3540: 61 32 30 64 62 31 65 63 61 38 62 35 39 34 35 38  a20db1eca8b59458
3550: 39 62 63 63 66 36 30 31 64 65 35 38 33 0a        9bccf601de583.