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 1: | Zeile 1: | ||
[[Kategorie:DB]] | [[Kategorie:DB]] | ||
[[Kategorie:ServerApplikation]] | [[Kategorie:ServerApplikation]] | ||
= SQL-Tipps = | = SQL-Tipps = | ||
== DB anlegen == | == DB anlegen == | ||
<pre>createdb dbtest | <pre>createdb dbtest | ||
</pre> | </pre> | ||
== Mit DB arbeiten == | == Mit DB arbeiten == | ||
* Programm: /usr/bin/psql dbtest | * Programm: /usr/bin/psql dbtest | ||
Zeile 53: | Zeile 26: | ||
\du ODER \du+ | \du ODER \du+ | ||
</pre> | </pre> | ||
== Geometry-Variante == | == Geometry-Variante == | ||
Zeile 144: | Zeile 41: | ||
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 56: | ||
</pre> | </pre> | ||
* Hinweis: Polygon mit 1000 Ecken erfolgreich eingetragen. | * Hinweis: Polygon mit 1000 Ecken erfolgreich eingetragen. | ||
= Installation = | = Installation = | ||
== Debian == | == Debian == | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
apt install postgresql-13 postgresql-13-postgis-3 | |||
apt install postgresql- | |||
passwd postgres | passwd postgres | ||
# Cluster festlegen: | # Cluster festlegen: | ||
DB_BASE=/data/postgresql | DB_BASE=/data/postgresql | ||
POST_BIN=/usr/lib/postgresql/ | POST_BIN=/usr/lib/postgresql/13/bin | ||
LOGFILE=/var/log/local/postgres.log | LOGFILE=/var/log/local/postgres.log | ||
test -d $DB_BASE || mkdir $DB_BASE | test -d $DB_BASE || mkdir $DB_BASE | ||
Zeile 258: | Zeile 87: | ||
</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 105: | ||
** 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 279: | Zeile 127: | ||
== DBMS-Zugriff von außen ermöglichen == | == DBMS-Zugriff von außen ermöglichen == | ||
* / | * /var/lib/pgsql/data/postgresql.conf | ||
<pre>listen_addresses = '*' | <pre>listen_addresses = '*' | ||
</pre> | </pre> | ||
Zeile 305: | Zeile 144: | ||
== DB erzeugen == | == DB erzeugen == | ||
* als User hm: | * als User hm: | ||
<pre>createdb | <pre>createdb sale | ||
* oder als User postgres: | * oder als User postgres: | ||
psql | psql | ||
create database owner hm; | create database owner hm; | ||
</pre> | </pre> |