Tag Archive | PostgreSQL

PostGIS 2.5

En ny version av PostGIS har släppts. Vad är det som är nytt, och skall man uppgradera?

Läs mer…

Annonser

Webbformulär för PostGIS

Det var ett tag sedan jag testade lite servertjänster, men nu är det dags igen. Inte minst då releasen av Postgres 10 på sikt kommer att innebära att jag behöver uppgradera min databas, och då kan det vara bra att ha något att testa med innan.

I detta inlägg blir det dock lite annat…

Läs mer…

Postgres 10

Då har (nyligen) Postgres, eller PostgreSQL, släppts i en ny version. Tänk att det fortfarande finns företag som vågar kalla en version för ”10” och inte ”X”…

Vad är det som är nytt? Det tänkte jag kika lite närmare på…

Läs mer…

PgAdminIV

Om det kommer att heta PgAdminIV eller PgAdmin4 får vi väl se, och det spelar kanske inte så stor roll.

Hur står sig PgAdmin4 mot PgAdmin3? Här kommer mina första intryck… Läs mer…

Geosupportsystem IT-plattform – Installationsguide del 2

I detta inlägg så är det ”städning” av den OpenGeo Suite installation som gjordes i förra inlägget.

Det mesta är beskrivet i den dokumentation som följer med installationen och det jag ändrat på eller anpassat rör sådant jag vill uppnå senare för att ytterligare öka flexibiliteten i IT-plattformen. Det finns även en del steg som helt enkelt inte fungerade för mig, så jag fick klura ut ett annat sätt att få det att fungera.

Jag börjar med PostgreSQL och PostGIS.

Läs mer…

En databas på annan plats…

Nu när jag skaffat mig en ny dator med många diskar, så ville jag sätta upp PostGIS så att geodatabasen lagrades på min RAID enhet med 4 TB.

Hur man istallerar PostGIS lokalt (eller på en server) har jag gått igenom flera gånger tidigare, vilket även hjälpte mig nu, så det hoppar jag över här.

Postgres och PostGIS är installerat på min systemdisk (SSD), men där vill jag inte lagra ”enorma mängder” geodata, som sällan används.

Efter lite efterforskningar så visade det sig vara väldigt enkelt att få till.

  1. Skapa en tom katalog på enheten där den nya databasen skall placeras. Jag skapar katalogen /home/postgis, vilket är en sökväg som ligger på min RAID enhet.
  2. Skapa ett nytt ”Tablespace” i pgAdminIII genom att högerklicka i Tablespaces och välja ”New Tablespace…”Fyll i ett namn och en ägare på första fliken och sökvägen till den tidigare skapade katalogen på den andra.
  3. Skapa en ny databas på samma sätt (högerklick, ”New Database…”) och ange namn och ägare på första fliken.
    På den andra fliken skall du välja en PostGIS databas som mall (template) och det tidigare skapade ”Tablespace” för att tala om var databasen skall lagra sina data.

Mer än så är det inte.

Sedan är det bara att koppla upp sig och köra på. Postgres och PostGIS tar hand om resten.

Det stod i instruktionen att användaren ”postgres” skulle vara ägare till katalogen som skapades i steg ett, men jag är inte säker på att det behövs…

Om det behövs så är terminalkommandot i linux för detta:

sudo chown -R postgres /home/postgis

Då får du naturligtvis byta ut sökvägen på slutet till din egen motsvarighet.

PostGIS uppföljning

I går så installerade jag PostGIS för användning i QGIS och nu tänkte jag mest för egen skull dokumentera några erfarenheter till.

När man lägger upp användare i Postgresql (roller) så kan man använda dessa för att skapa nya data i QGIS. Om andra skall kunna läsa eller redigera dessa så måste man dock tilldela dem dessa rättigheter eftersom den användare som skapat tabellen blir ensam ägare av den.

I OpenGeo Explorer så kan man markera databasen och välja ”Run SQL…”

Om man skapat en tabell kallad ”data” och vill att rollen ”users” skall ha alla rättigheter i detta lager så skriver man:

GRANT ALL PRIVILEGES ON data TO users;

Om man har en funktion för att räkna upp id automatiskt (default när man skapar ny tabell) så måste man även tilldela rättigheter till denna ”sekvens”:

GRANT ALL ON SEQUENCE data_id_seq TO users;

Vad sekvensen heter kan man kontrollera i OpenGeo Explorer genom att klicka på tabellen. Som standard döps den till ”tabellnamn_fältnamn_seq”.

Nu bör alla i gruppen ”users” kunna läsa och redigera data i lagret.

Vill man ge andra rättigheter eller begränsa det till vissa användare så går det också att göra…

GRANT SELECT ... rätt att läsa
GRANT UPDATE ... rätt att ändra
GRANT INSERT ... rätt att lägga till

Det går även att styra om en specifik användare endast skall kunna läsa allt (eller vissa kolumner) men bara kunna uppdatera data i en specifik kolumn genom att lägga till kolumnnamnet inom parentes efter kommandot.

GRANT SELECT(kolumn1, kolumn3, kolumn6), UPDATE(kolumn3) ON data TO some_user;

Glöm nu slutligen inte heller att om man sparar QGIS projektet så sparas inskrivna lösenord också… i klartext!