Thank you a lot. I have managed to move forward, but i am not there yet:/
I can definitely reach the database since the command:
 v.in.ogr -l input= "PG:host=172.21.3.20 dbname=mydb user=dbusername
password=passwd"
prints out names of my tables in database.
But command
v.in.ogr input= "PG:host=172.21.3.20 dbname=mydb user=dbusername password=
passwd" output=outpoint  layer=myschema.mytable
prints an error about "missing '=' after 'mydb' in connection info string"
(at the end). This seems maybe like pg error than grass.script, doesnt it?

Thx.
Vil

DBMI-PostgreSQL driver error:
Connection failed.
missing "=" after "mydb" in connection info string

DBMI-PostgreSQL driver error:
Connection failed.
missing "=" after "mydb" in connection info string

WARNING: Unable to open database <dbname=mydb schema=myschema> by
         driver <pg>
WARNING: Unable open database <dbname=mydb schema=myschema> by
         driver <pg>
WARNING: Unable to find table <outputpoint> linked to vector map
         <outputpoint>
Creating attribute table for layer <myschema.mytable>...
DBMI-PostgreSQL driver error:
Connection failed.
missing "=" after "mydb" in connection info string

DBMI-PostgreSQL driver error:
Connection failed.
missing "=" after "mydb" in connection info string

WARNING: Unable to open database <dbname=mydb schema=myschema> by
         driver <pg>
ERROR: Unable to open database <dbname=mydb schema=myschema> by
       driver <pg>



---------- Původní e-mail ----------
Od: Moritz Lennert <mlenn...@club.worldonline.be>
Komu: Vilem Ded <de...@seznam.cz>
Datum: 13. 2. 2018 14:58:22
Předmět: Re: [GRASS-user] load vector map from PostGIS
"Le Tue, 13 Feb 2018 14:09:31 +0100 (CET),
"Vilem Ded" <de...@seznam.cz> a écrit :

> Hi,
> is there any possibility to download data  into local grass database
> (topologcal) from remote postgis server? (without getting error)
> Or is the issue still pending?
> (http://osgeo-org.1560.x6.nabble.com/Unable-
> to-link-to-postgis-postgresql-td5285313.html) I am using Python to
> work with GRASS. And honestly, I got lost in outputs of db.*
> functions:

AFAIK, you should not need to go through all the db.* functions to
import your data. Not much time to look any further into this, but check 
this thread:
https://lists.osgeo.org/pipermail/grass-dev/2017-May/085032.html/

In brief, you should be able to import your data with a simple v.in.ogr 
call, without any db.connect/db.login magic.

Moritz

>
> #set database and login
> gscript.run_command('db.connect',
> database="host=172.21.3.20,dbname=mydb", driver="pg",  verbose = True)
> gscript.run_command('db.login', user="dbusername", password="passwd",
> overwrite = True)
>
> #verifying connection
> gscript.run_command('db.connect', flags='p')
> output:
> driver: pg
> database: host=172.21.3.20,dbname=mydb
> schema:
> group:
> #so everything looks fine so far
>
> #here comes the trouble - simple list tables in db
> gscript.run_command('db.tables', flags='p', verbose = True)
> output:
> DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> ERROR: Unable to open database <host=172.21.3.20,dbname=mydb>
>
> #but for example:
> gscript.run_command('v.external',
>                     input="PG:dbname=mydb host=172.21.3.20",
>                     flags='l', overwrite =  True)
> output:
> --actuall list of all tables in mydb - so i CAN connect to the server! 
>
> #same for mapping external link - following will create external link 
> gscript.run_command('v.external',
>                     input="PG:dbname=mydb host=172.21.3.20
> user=dbusername password=password",
>                     layer="myschema.mytable", output='outpoints,
> overwrite = True)
> output:
> WARNING: No key column detected.
> WARNING: Feature table <outpoints> has no primary key defined. Unable 
> to define DB links.
> WARNING: Feature table <outpoints> has no primary key defined
> WARNING: Random read is not supported for this layer. Unable to build 
>          topology.
> v.external complete. Link to vector map <outpoints> created.
>
> #weird, because i have primary key defined in the table, following is 
> printing description of that external link
> gscript.vector_info("outpoints")
>
> #if i try to load data from database
> gscript.run_command('v.in.ogr',
>                     input="PG:dbname=mydb host=172.21.3.20",
>                     layer='myschema.mytable',geometry="mygeomcolumn",
> output = "outpoints2", overwrite =  True, type="point")
> output:
> Check if OGR layer <myschema.mytable> contains polygons...
>  100%�����
> WARNING: Vector map <outpoints2> already exists and will be
> overwritten DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> WARNING: Unable to open database <host=172.21.3.20,dbname=macfishdb>
> by driver <pg>
> WARNING: Unable open database <host=172.21.3.20,dbname=macfishdb> by
> driver <pg>
> WARNING: Unable to find table <outpoints2> linked to vector map
> <lp_grass> Creating attribute table for layer
> <at_macfish.loggerpos>... DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> DBMI-PostgreSQL driver error:
> Connection failed.
> could not connect to server: No such file or directory
>     Is the server running locally and accepting
>     connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
>
> WARNING: Unable to open database <host=172.21.3.20,dbname=mydb> by 
>          driver <pg>
> ERROR: Unable to open database <host=172.21.3.20,dbname=mydb> by
>        driver <pg>
>
> My version of grass:
> GRASS version:
> 7.4.0
> GRASS SVN revision:
> exported
> Build date:
> 2018-01-26
> Build platform:
> x86_64-pc-linux-gnu
> GDAL:
> 2.2.2
> PROJ.4:
> 4.9.2
> GEOS:
> 3.5.1
> SQLite:
> 3.11.0
> Python:
> 2.7.12
> wxPython:
> 3.0.2.0
> Platform: Linux-4.4.0-112-generic-x86_64-with-Ubuntu-16.04-xenial  
>
> Version of python:
>
> Python 2.7.12 64bits
>
> Content of my .grass7/dblogin:
> pg|host=172.21.3.20, dbname=mydb|dbusername|passwd||
> sqlite|$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db|dbusername|passwd
||
> pg|macfishdb|dbusername|passwd||
> pg|host=172.21.3.20,dbname=mydb|dbusername|passwd||
>
> Thank you for any comment
> Dead Vil
>
>

"
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to