datenbank:postgresql_9.5.2
Inhaltsverzeichnis
PostgreSQL 9.5.2
> psql -V psql (PostgreSQL) 9.5.20 > su - pgsql > psql -U pgsql -l ; echo "\dg" | psql -U pgsql postgres
PostgreSQL 9.5.2 (FreeBSD 10.3-RELEASE)
Installation von PostgreSQL 9.5 auf FreeBSD 10.3-RELEASE
Zeichensatz prüfen, ich möchte die DB mit dem Zeichensatz "de_DE.UTF-8" betreiben, deshalb überprüfe ich, ob es den im System gibt:
> locale -a | fgrep de_DE.UTF-8 de_DE.UTF-8
…wie wir sehen, gibt es ihn im System…
Installation:
> pkg install databases/postgresql95-server
Vorbereitung:
> less /usr/local/share/doc/postgresql/README-server
> vi /etc/login.conf
### deutsch
german|German Users Accounts:\
:charset=UTF-8:\
:lang=de_DE.UTF-8:\
:setenv=LC_COLLATE=C:\
:tc=default:
> vi /etc/rc.conf
postgresql_enable="YES"
# postgresql_data="/usr/local/pgsql/data"
postgresql_data="/home/pgsql/data"
postgresql_class="german"
einmalige Initialisierung > /usr/local/etc/rc.d/postgresql initdb
sollte die Initialisierung schief gehen:
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer "pgsql" gehören. Diesem Benutzer muss auch der Serverprozess gehören. Der Datenbankcluster wird mit folgenden Locales initialisiert werden: COLLATE: C CTYPE: de_DE.ISO8859-15 MESSAGES: de_DE.ISO8859-15 MONETARY: de_DE.ISO8859-15 NUMERIC: de_DE.ISO8859-15 TIME: de_DE.ISO8859-15 initdb: unpassende Kodierungen Die von Ihnen gewählte Kodierung (UTF8) und die von der gewählten Locale verwendete Kodierung (LATIN9) passen nicht zu einander. Das würde in verschiedenen Zeichenkettenfunktionen zu Fehlverhalten führen. Starten Sie initdb erneut und geben Sie entweder keine Kodierung explizit an oder wählen Sie eine passende Kombination.
dann kann man das auch so machen:
> su - pgsql
$ export LANG=de_DE.UTF-8
$ vi .profile
LANG=de_DE.UTF-8
export LANG
MM_CHARSET=UTF-8
export MM_CHARSET
$ echo $LANG
de_DE.UTF-8
$ initdb -D /home/pgsql/data
Die Dateien, die zu diesem Datenbanksystem gehören, werden dem Benutzer
„pgsql“ gehören. Diesem Benutzer muss auch der Serverprozess gehören.
Der Datenbankcluster wird mit folgenden Locales initialisiert werden:
COLLATE: C
CTYPE: de_DE.UTF-8
MESSAGES: de_DE.UTF-8
MONETARY: de_DE.UTF-8
NUMERIC: de_DE.UTF-8
TIME: de_DE.UTF-8
Die Standarddatenbankkodierung wurde entsprechend auf „UTF8“ gesetzt.
Die Standardtextsuchekonfiguration wird auf „german“ gesetzt.
Datenseitenprüfsummen sind ausgeschaltet.
erzeuge Verzeichnis /home/pgsql/data ... ok
erzeuge Unterverzeichnisse ... ok
wähle Vorgabewert für max_connections ... 100
wähle Vorgabewert für shared_buffers ... 128MB
wähle Implementierung von dynamischem Shared Memory ... posix
erzeuge Konfigurationsdateien ... ok
erzeuge Datenbank template1 in /home/pgsql/data/base/1 ... ok
initialisiere pg_authid ... ok
initialisiere Abhängigkeiten ... ok
erzeuge Systemsichten ... ok
lade Systemobjektbeschreibungen ... ok
erzeuge Sortierfolgen ... ok
erzeuge Konversionen ... ok
erzeuge Wörterbücher ... ok
setze Privilegien der eingebauten Objekte ... ok
erzeuge Informationsschema ... ok
lade Serversprache PL/pgSQL ... ok
führe Vacuum in Datenbank template1 durch ... ok
kopiere template1 nach template0 ... ok
kopiere template1 nach postgres ... ok
synchronisiere Daten auf Festplatte ... ok
WARNUNG: Authentifizierung für lokale Verbindungen auf „trust“ gesetzt
Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder beim
nächsten Aufruf von initdb die Option -A, oder --auth-local und
--auth-host, verwenden.
Erfolg. Sie können den Datenbankserver jetzt mit
pg_ctl -D /home/pgsql/data -l logdatei start
starten.
$ exit
damit jeder Benutzer aus dem LAN (192.168.1.0/24) auf jede Datenbank zugreifen darf:
> vi /home/pgsql/data/pg_hba.conf ... # TYPE DATABASE USER ADDRESS METHOD ... host all all 192.168.1.0/24 trust ...
damit die Datenbank aus dem LAN (192.168.1.0/24) erreichbar ist:
> vi /home/pgsql/data/postgresql.conf ... listen_addresses = '*' ...
> /usr/local/etc/rc.d/postgresql status pg_ctl: kein Server läuft
> service postgresql start LOG: Logausgabe nach stderr endet TIPP: Die weitere Logausgabe geht an Logziel „syslog“.
> service postgresql status pg_ctl: Server läuft (PID: 96773) /usr/local/bin/postgres "-D" "/home/pgsql/data"
> pg_config BINDIR = /usr/local/bin DOCDIR = /usr/local/share/doc/postgresql HTMLDIR = /usr/local/share/doc/postgresql INCLUDEDIR = /usr/local/include PKGINCLUDEDIR = /usr/local/include/postgresql INCLUDEDIR-SERVER = /usr/local/include/postgresql/server LIBDIR = /usr/local/lib PKGLIBDIR = /usr/local/lib/postgresql LOCALEDIR = /usr/local/share/locale MANDIR = /usr/local/man SHAREDIR = /usr/local/share/postgresql SYSCONFDIR = /usr/local/etc/postgresql PGXS = /usr/local/lib/postgresql/pgxs/src/makefiles/pgxs.mk CONFIGURE = '--with-libraries=/usr/local/lib' '--with-includes=/usr/local/include' '--enable-thread-safety' '--disable-debug' '--enable-nls' '--without-pam' '--with-openssl' '--without-gssapi' '--prefix=/usr/local' '--localstatedir=/var' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd10.1' 'build_alias=amd64-portbld-freebsd10.1' 'CC=cc' 'CFLAGS=-O2 -pipe -fstack-protector -fno-strict-aliasing' 'LDFLAGS= -L/usr/local/lib -lpthread -fstack-protector' 'LIBS=' 'CPPFLAGS=' 'CPP=cpp' 'LDFLAGS_SL=' CC = cc CPPFLAGS = -I/usr/local/include -I/usr/local/include CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -O2 -pipe -fstack-protector -fno-strict-aliasing CFLAGS_SL = -fPIC -DPIC LDFLAGS = -L../../../src/common -L/usr/local/lib -lpthread -fstack-protector -L/usr/local/lib -Wl,--as-needed -Wl,-R'/usr/local/lib' LDFLAGS_EX = LDFLAGS_SL = LIBS = -lpgcommon -lpgport -lintl -lssl -lcrypto -lz -lreadline -lcrypt -lm VERSION = PostgreSQL 9.5.2
> psql -U pgsql -l
Liste der Datenbanken
Name | Eigentümer | Kodierung | Sortierfolge | Zeichentyp | Zugriffsprivilegien
-----------+------------+-----------+--------------+-------------+---------------------
postgres | pgsql | UTF8 | C | de_DE.UTF-8 |
template0 | pgsql | UTF8 | C | de_DE.UTF-8 | =c/pgsql +
| | | | | pgsql=CTc/pgsql
template1 | pgsql | UTF8 | C | de_DE.UTF-8 | =c/pgsql +
| | | | | pgsql=CTc/pgsql
(3 Zeilen)
/home/http/wiki/data/pages/datenbank/postgresql_9.5.2.txt · Zuletzt geändert: von manfred
