PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

pigreco
Salve,
ho letto in alcuni forum che, diversamente da oracle, non è possibile definire una primary key nelle view di postgresql, 

problema:
quando richiamo, da qgis, un vettore postgis (tramite l'icona aggiungi vettore postgis) ogni volta devo definire la primary key,
esiste un modo per evitare ciò? è possibile definire prima quale sia la pseudo- pk?

grazie e buonanotte

SF

--
Salvatore Fiandaca
mobile.:+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015
Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

pigreco
ho fatto alcune ricerche ed ho notato che il problema non è solo mio, ma nessuno ha mai dato una risposta soddisfacente.... 

allego due screenshot http://1drv.ms/1FoJNMP

Il giorno 26 settembre 2015 00:16, Totò Fiandaca <[hidden email]> ha scritto:
Salve,
ho letto in alcuni forum che, diversamente da oracle, non è possibile definire una primary key nelle view di postgresql, 

problema:
quando richiamo, da qgis, un vettore postgis (tramite l'icona aggiungi vettore postgis) ogni volta devo definire la primary key,
esiste un modo per evitare ciò? è possibile definire prima quale sia la pseudo- pk?

grazie e buonanotte

SF

--
Salvatore Fiandaca
mobile.:<a href="tel:%2B39%20327.493.8955" value="+393274938955" target="_blank">+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326





--
Salvatore Fiandaca
mobile.:+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015
Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

Andrea Peri
In reply to this post by pigreco
Ciao Toto'.

Innegabilmente oracle dbms e' un bellissimo prodotto.
Anche postgres lo e' , ma in certi campi e' un po' indietro.
Ad esempio sulla gestione delle tablepace, sulle viste, e altri aspetti.

Per cui non ti devi stupire se qualcosa che ci sta su oracle, su
postgres non e' presente.
Pero' ci sono anche svariate cose che su posgres ci sono e su oracle no.

Una di esse e' postgis.
Il modulo spaziale di oracle che pure ha dei risvolti interessanti non
e' all'altezza di quello di postgis.

Detto questo, il tuo problema e' primariamente una idiosincrasia di QGIS.
Il quale pretende che una tabella di postgres abbia una chiave primaria.
Idem sulle viste.

Con un limte pero'.
Credo che qgis voglia una chiave primaria composta da 1 unico campo(di
tipo integer).

Mentre sulle tabelle a volte ha senso e si usno chiavi primarie
composte da piu' campi.

La ragione della pretesa di una chiave primaria (o meglio di un campo
indicizzato con chiave univoca) è legata alla capacita' di poter
mettere in editing tale tabella.

A.


Il 26 settembre 2015 00:16, Totò Fiandaca <[hidden email]>
ha scritto:

> Salve,
> ho letto in alcuni forum che, diversamente da oracle, non è possibile
> definire una primary key nelle view di postgresql,
>
> problema:
> quando richiamo, da qgis, un vettore postgis (tramite l'icona aggiungi
> vettore postgis) ogni volta devo definire la primary key,
> esiste un modo per evitare ciò? è possibile definire prima quale sia la
> pseudo- pk?
>
> grazie e buonanotte
>
> SF
>
> --
> Salvatore Fiandaca
> mobile.:+39 327.493.8955
> m: [hidden email]
> 43°51'0.54"N  10°34'27.62"E - EPSG:4326
>
>
>
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 750 iscritti al 18.3.2015



--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015
Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

Luca Lanteri-2
In reply to this post by pigreco
Ciao Totò,

no, non è possibile. QGIS comunque si accontenta di avere un campo di tipo intero che non abbia duplicati, quindi se inserisci la tua pkey nella vista e non hai duplicazioni legate alle join non ci sono problemi. Nel caso invece la tua join duplichi i record devi crearti una nuovo campo univoco. Un modo può essere quello di utilizzare la funzione  ROW_NUMBER().

Fino alla versione  2.8.2 QGIS provava ad utilizzare il 1° campo intero di una vista come chiave primaria e nel caso non fosse stata valida (codici duplicati) forniva un messaggio di errore. Era comunque possibile indicare un altro campo mediante la combo che hai evidenziato.  Dalla versione 2.8.3 questo comportamento è stato modificato, adesso è necessario indicare in modo esplicito la chiave primaria, cosa che io trovo decisamente scomoda. 
Puoi trovare la discussione in mailing list qgis ed in parte qui: https://hub.qgis.org/issues/11317.

Fate sentire la vostra opinione di utilizzatori in mailing list internazionale, è sicuramente un buon feedback per gli sviluppatori.
 
a presto
Luca


Il giorno 26 settembre 2015 13:46, Totò Fiandaca <[hidden email]> ha scritto:
ho fatto alcune ricerche ed ho notato che il problema non è solo mio, ma nessuno ha mai dato una risposta soddisfacente.... 

allego due screenshot http://1drv.ms/1FoJNMP

Il giorno 26 settembre 2015 00:16, Totò Fiandaca <[hidden email]> ha scritto:
Salve,
ho letto in alcuni forum che, diversamente da oracle, non è possibile definire una primary key nelle view di postgresql, 

problema:
quando richiamo, da qgis, un vettore postgis (tramite l'icona aggiungi vettore postgis) ogni volta devo definire la primary key,
esiste un modo per evitare ciò? è possibile definire prima quale sia la pseudo- pk?

grazie e buonanotte

SF

--
Salvatore Fiandaca
mobile.:<a href="tel:%2B39%20327.493.8955" value="+393274938955" target="_blank">+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326





--
Salvatore Fiandaca
mobile.:<a href="tel:%2B39%20327.493.8955" value="+393274938955" target="_blank">+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015


_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015
Reply | Threaded
Open this post in threaded view
|

Re: PostgreSQL9.3.9/PostGIS 2.1.7 - Primary keys e View

pigreco
attualmente uso QGIS 2.10 anche in questa versione è obbligatorio indicare in modo esplicito la chiave primaria ed è fastidiosissimo: metti caso che devi caricare 'n' viste contemporaneamente.
inoltre lo stesso problema si ha se si utilizza il browser di qgis, in questo caso però non hai la possibilità di scelta e ti da l'errore.

grazie per tutto

Il giorno 26 settembre 2015 14:42, Luca Lanteri <[hidden email]> ha scritto:
Ciao Totò,

no, non è possibile. QGIS comunque si accontenta di avere un campo di tipo intero che non abbia duplicati, quindi se inserisci la tua pkey nella vista e non hai duplicazioni legate alle join non ci sono problemi. Nel caso invece la tua join duplichi i record devi crearti una nuovo campo univoco. Un modo può essere quello di utilizzare la funzione  ROW_NUMBER().

Fino alla versione  2.8.2 QGIS provava ad utilizzare il 1° campo intero di una vista come chiave primaria e nel caso non fosse stata valida (codici duplicati) forniva un messaggio di errore. Era comunque possibile indicare un altro campo mediante la combo che hai evidenziato.  Dalla versione 2.8.3 questo comportamento è stato modificato, adesso è necessario indicare in modo esplicito la chiave primaria, cosa che io trovo decisamente scomoda. 
Puoi trovare la discussione in mailing list qgis ed in parte qui: https://hub.qgis.org/issues/11317.

Fate sentire la vostra opinione di utilizzatori in mailing list internazionale, è sicuramente un buon feedback per gli sviluppatori.
 
a presto
Luca


Il giorno 26 settembre 2015 13:46, Totò Fiandaca <[hidden email]> ha scritto:
ho fatto alcune ricerche ed ho notato che il problema non è solo mio, ma nessuno ha mai dato una risposta soddisfacente.... 

allego due screenshot http://1drv.ms/1FoJNMP

Il giorno 26 settembre 2015 00:16, Totò Fiandaca <[hidden email]> ha scritto:
Salve,
ho letto in alcuni forum che, diversamente da oracle, non è possibile definire una primary key nelle view di postgresql, 

problema:
quando richiamo, da qgis, un vettore postgis (tramite l'icona aggiungi vettore postgis) ogni volta devo definire la primary key,
esiste un modo per evitare ciò? è possibile definire prima quale sia la pseudo- pk?

grazie e buonanotte

SF

--
Salvatore Fiandaca
mobile.:<a href="tel:%2B39%20327.493.8955" value="+393274938955" target="_blank">+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326





--
Salvatore Fiandaca
mobile.:<a href="tel:%2B39%20327.493.8955" value="+393274938955" target="_blank">+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015




--
Salvatore Fiandaca
mobile.:+39 327.493.8955 
m: [hidden email]
43°51'0.54"N  10°34'27.62"E - EPSG:4326



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
750 iscritti al 18.3.2015