Bearbeiten von „PostGreSQL“
Zur Navigation springen
Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 2: | Zeile 2: | ||
[[Kategorie:ServerApplikation]] | [[Kategorie:ServerApplikation]] | ||
= | == Interface ändern == | ||
* | * vi /etc/postgresql/13/main/postgresql.conf | ||
<pre>listen_addresses = '10.10.100.100,localhost' | |||
</pre> | |||
= SQL-Tipps = | = SQL-Tipps = | ||
Zeile 25: | Zeile 26: | ||
== DB anlegen == | == DB anlegen == | ||
<pre>createdb dbtest | <pre>createdb dbtest | ||
</pre> | </pre> | ||
Zeile 53: | Zeile 48: | ||
\du ODER \du+ | \du ODER \du+ | ||
</pre> | </pre> | ||
== Geometry-Variante == | == Geometry-Variante == | ||
Zeile 144: | Zeile 63: | ||
CREATE EXTENSION IF NOT EXISTS plpgsql; | CREATE EXTENSION IF NOT EXISTS plpgsql; | ||
CREATE EXTENSION postgis; | CREATE EXTENSION postgis; | ||
CREATE TABLE | CREATE TABLE geodb ( | ||
id SERIAL PRIMARY KEY, | id SERIAL PRIMARY KEY, | ||
name varchar(64), | name varchar(64), | ||
geom geography(POLYGON,3857) | geom geography(POLYGON,3857) | ||
); | ); | ||
CREATE INDEX geodb_geom_idx ON geodb USING GIST (geom); | CREATE INDEX geodb_geom_idx ON geodb USING GIST (geom); | ||
select distinct(st_isvalid(geom)) from geodb; | select distinct(st_isvalid(geom)) from geodb; | ||
Zeile 162: | Zeile 78: | ||
</pre> | </pre> | ||
* Hinweis: Polygon mit 1000 Ecken erfolgreich eingetragen. | * Hinweis: Polygon mit 1000 Ecken erfolgreich eingetragen. | ||
== Abfragen der Geometry == | == Abfragen der Geometry == | ||
Zeile 177: | Zeile 87: | ||
select ST_AsText(geom) froom geodb; | select ST_AsText(geom) froom geodb; | ||
-- Display with maximal float precision of 2 (digits behind the dot) | -- Display with maximal float precision of 2 (digits behind the dot) | ||
select ST_AsText( | select ST_AsText(geom, 2) from geodb; | ||
</pre> | </pre> | ||
== Sequenz (Primary Key) ändern == | == Sequenz (Primary Key) ändern == | ||
<pre> | <pre> | ||
ALTER SEQUENCE sysflags_sysflag_id_seq RESTART WITH 1100; | ALTER SEQUENCE sysflags_sysflag_id_seq RESTART WITH 1100; | ||
</pre> | </pre> | ||
= Installation = | = Installation = | ||
== Debian == | == Debian == | ||
Zeile 258: | Zeile 126: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Rollen == | |||
* Eine Rolle kann als "Gruppe" oder als "Benutzer" verwendet werden. | |||
* Ein Benutzer ist eine Rolle mit Attribut LOGIN. | |||
* "CREATE USER" ist ein Alias von "CREATE ROLE" mit gesetztem "LOGIN"-Attribut. | |||
<pre> | |||
sudo -u postgres psql postgres | |||
</pre> | |||
<pre> | |||
SELECT rolname FROM pg_roles; | |||
CREATE ROLE root WITH SUPERUSER CREATEDB CREATEROLE LOGIN PASSWORD 'NoOneKnows'; | |||
CREATE ROLE dbadm WITH CREATEDB CREATEROLE LOGIN PASSWORD 'UnknownPw'; | |||
CREATE ROLE forum WITH CREATEDB LOGIN PASSWORD 'ThinkAbout'; | |||
</pre> | |||
== Ohne Admin-Passwort arbeiten (z.B. temporär) == | == Ohne Admin-Passwort arbeiten (z.B. temporär) == | ||
Zeile 263: | Zeile 144: | ||
** host all all 127.0.0.1/32 trust | ** host all all 127.0.0.1/32 trust | ||
** host all all ::1/128 trust | ** host all all ::1/128 trust | ||
== Benutzer anlegen == | |||
* pgadmin3 aufrufen | |||
** Login-Rollen: neue Rolle eintragen | |||
* SQL: | |||
** CREATE ROLE jonny LOGIN ENCRYPTED PASSWORD 'md582dfb88f80303e0d0e2ffdbdc9e82b64' SUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION; | |||
== Passwort-Authentifizierung erlauben == | == Passwort-Authentifizierung erlauben == | ||
Zeile 311: | Zeile 198: | ||
</pre> | </pre> | ||
= Datensicherung | = Datensicherung = | ||
<pre># Sichern: | <pre># Sichern: | ||
pg_dump dbname > dumpfile | pg_dump dbname > dumpfile | ||
pg_dump -h $HOST -p $PORT dbname | gzip > dbname.sql.gz | pg_dump -h $HOST -p $PORT dbname | gzip > dbname.sql.gz | ||
# Restaurieren: | # Restaurieren: | ||
psql dbname < dumpfile | psql dbname < dumpfile | ||
psql --set ON_ERROR_STOP=on dbname < dumpfile | psql --set ON_ERROR_STOP=on dbname < dumpfile | ||
# Duplizieren einer DB: | # Duplizieren einer DB: | ||
pg_dump -h host1 dbname | psql -h host2 dbname | pg_dump -h host1 dbname | psql -h host2 dbname | ||
pg_dump dbname1 | psql dbname2 | |||
</pre> | </pre> |