leider fehlt mir als Frontend Programmierer das nötige KnowHow bei Servern. Ich versuche derzeit postgres zum laufen zu bekommen, aber ohne erfolg… Wenn ich nach dieser Anleitung: https://help.ubuntu.com/community/PostgreSQL
den Befehl
sudo apt-get install postgresql-client
ausführen möchte, bekomme ich folgenden Output:
root@s18629602:~# sudo apt-get install postgresql-client
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
postgresql-client
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 5,052 B of archives.
After this operation, 72.7 kB of additional disk space will be used.
Get:1 http://de.archive.ubuntu.com/ubuntu/ trusty-updates/main postgresql-client all 9.3+154ubuntu1 [5,052 B]
Fetched 5,052 B in 0s (44.6 kB/s)
Selecting previously unselected package postgresql-client.
(Reading database ... 45337 files and directories currently installed.)
Preparing to unpack .../postgresql-client_9.3+154ubuntu1_all.deb ...
Unpacking postgresql-client (9.3+154ubuntu1) ...
Setting up postgresql-9.3 (9.3.10-0ubuntu0.14.04) ...
* Starting PostgreSQL 9.3 database server * The Post greSQL server failed to start. Please check the log output.
[fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-9.3 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up postgresql-client (9.3+154ubuntu1) ...
Errors were encountered while processing:
postgresql-9.3
E: Sub-process /usr/bin/dpkg returned an error code (1)
im Log file (/var/log/postgresql/postgresql-9.3-main.log) steht nichts… gar nichts
Wir halten fest: es läuft kein PG-Server. Das wäre nun das, was für Dich zu tun ist: diesen installieren und ans laufen bekommen. Remote-Diagnose ist schwer, zumindest ohne konkrete Fehlerbilder.
Du könntest natürlich bei uns einen buchen, dann stellen wir Dir den fix und fertig hin
Bei Installation des Servers kommt halt folgende Fehlermeldung:
root@s18629602:/home# apt-get -y install postgresql postgresql-contrib
Reading package lists... Done
Building dependency tree
Reading state information... Done
postgresql is already the newest version.
postgresql-contrib is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-9.3 (9.3.10-0ubuntu0.14.04) ...
* Starting PostgreSQL 9.3 database server * The PostgreSQL server failed to start. Please check the log output.
[fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-9.3 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql:
postgresql depends on postgresql-9.3; however:
Package postgresql-9.3 is not configured yet.
dpkg: error processing package postgresql (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql-contrib-9.3:
postgresql-contrib-9.3 depends on postgresql-9.3 (= 9.3.10-0ubuntu0.14.04); however:
Package postgresql-9.3 is not configured yet.
dpkg: error processing package postgresql-contrib-9.3 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql-contrib:
postgresql-contrib depends on postgresql-contrib-9.3; however:
Package postgresql-contrib-9.3 is not configured yet.
dpkg: error processing package postgresql-contrib (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
postgresql-9.3
postgresql
postgresql-contrib-9.3
postgresql-contrib
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@s18629602:/home#
okay, die Verzeichnisstruktur scheint schon mal da zu sein, das ist das pg_xlog - Verzeichnis, wo die Transactionlogs landen. Steht was in /var/lib/postgresql/9.3/ selbst? startup.log oder so…
ansonsten kannst Du mal als User postgres (!) versuchen:
der Ordner /var/lib/postgresql/9.3/ ist leer, bis auf das main verzeichnis…
Das ausführen des anderen war auch nicht erfolgreich
root@s18629602:/var/lib/postgresql/9.3# su postgres
postgres@s18629602:~/9.3$ pg_ctl -w start -D /var/lib/postgresql/9.3/main/
bash: pg_ctl: command not found
postgres@s18629602:~/9.3$
Das ist nen 1und1 vserver. Ich hab schon bemerkt dass der bei der ubuntu installation irgendwie nicht die gleichen voraussetzungen hat wie eine “normale” ubuntu webserver installation
Schau mal nach wo pg_ctl und initdb liegen (mit find) und ob das Verzeichnis im Pfad liegt (als postgres echo $PATH).
Ich weiß jetzt auf Anhieb nicht wo das auf Ubuntu sein müsste.
also, ich habe pg_ctl und initdb gefunden und konnte es auch ausführen. Hier ist der output dazu:
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ ./initdb -D /var/lib/postgresql/ 9.3/main/
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locales
COLLATE: en_US.UTF-8
CTYPE: en_US
MESSAGES: en_US.UTF-8
MONETARY: en_US.UTF-8
NUMERIC: en_US.UTF-8
TIME: en_US.UTF-8
The default database encoding has accordingly been set to "LATIN1".
initdb: encoding mismatch
The encoding you selected (LATIN1) and the encoding that the
selected locale uses (UTF8) do not match. This would lead to
misbehavior in various character string processing functions.
Rerun initdb and either do not specify an encoding explicitly,
or choose a matching combination.
postgres@s18629602:/usr/lib/postgresql/9.3/bin$
Das starten danach war leider nicht erfolgreich:
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ ls
clusterdb dropdb oid2name pg_controldata pg_isready pg_standby pg_xlogdump reindexdb
createdb droplang pg_archivecleanup pg_ctl pg_receivexlog pg_test_fsync postgres vacuumdb
createlang dropuser pg_basebackup pg_dump pg_resetxlog pg_test_timing postmaster vacuumlo
createuser initdb pgbench pg_dumpall pg_restore pg_upgrade psql
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ ./pg_ctl -w start -D /var/lib/postgresql/9.3/main/
waiting for server to start....postgres cannot access the server configuration file "/var/lib/postgresql/9.3/main/postgresql.conf": No such file or directory
.... stopped waiting
pg_ctl: could not start server
Examine the log output.
postgres@s18629602:/usr/lib/postgresql/9.3/bin$
Die "postgresql.conf existiert in der Tat nicht. Hätte auch gern das log output gepostet, weiß aber nicht welches hier gemeint ist
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ ./pg_ctl -D /var/lib/postgresql/9.3/main/ -o "-c config-file=/et c/postgresql/9.3/main/postgresql.conf" start
server starting
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ 2015-10-21 13:13:04.847 GMT [56278f60.7994]: [1-1] FATAL: could not map anonymous shared memory: Cannot allocate memory
2015-10-21 13:13:04.847 GMT [56278f60.7994]: [2-1] HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently 56451072 0 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.
ok Fortsetzung Teil 2:
mit der Anpassung der max_connections auf 20 und shared buffers auf 64MB zeigt er keine error meldung mehr, dafür macht er aber auch nix weiter an der stelle… steht still…
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ ./pg_ctl -D /var/lib/postgresql/9.3/main/ -o "-c config-file=/etc/postgresql/9.3/main/postgresql.conf" start server starting
postgres@s18629602:/usr/lib/postgresql/9.3/bin$ 2015-10-21 13:20:41.466 GMT [56279129.7b9d]: [1-1] LOG: redirecting log output to logging collector process
2015-10-21 13:20:41.466 GMT [56279129.7b9d]: [2-1] HINT: Future log output will appear in directory "/var/log/postgresql".