$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04 LTS Release: 18.04 Codename: bionic
Installierte PostgreSQL 10 -
$ apt list --installed | grep -i postgres postgresql-client-10/bionic,now 10.3-1 amd64 [installed] postgresql-client-common/bionic,bionic,now 190 all [installed,automatic] postgresql-common/bionic,bionic,now 190 all [installed,automatic] postgresql-server-dev-10/bionic,now 10.3-1 amd64 [installed] postgresql-server-dev-all/bionic,bionic,now 190 all [installed]
Beides serviceund systemctlkehren sofort ohne Nachricht zurück, aber es wurde kein Postgres-Prozess gestartet.
$ sudo service postgresql restart $ sudo systemctl restart postgresql
Ich bin komplett dunkel, da es weder conf noch log gibt -
$ ll /etc/postgresql total 8 drwxr-xr-x 2 root root 4096 Feb 8 12:26 ./ drwxr-xr-x 95 root root 4096 May 6 04:11 ../ $ ll /var/log/postgresql/ total 8 drwxrwxr-t 2 root postgres 4096 Feb 8 12:26 ./ drwxrwxr-x 10 root syslog 4096 May 6 04:10 ../
Was ist da los? Jeder Zeiger wird sehr geschätzt.
Edit: Um das Ganze noch schlimmer zu machen, ist PostgreSQL 10 das einzige in Ubuntu 18.04 aufgeführte Paket. Es gibt keine offensichtliche Möglichkeit, eine ältere Version von PostgreSQL zu installieren
Haben Sie sich die Ausgabe von systemctl status postgresql angesehen?
dsstorefile1 vor 6 Jahren
0
`$ sudo systemctl status postgresql ● postgresql.service - PostgreSQL RDBMS Geladen: geladen (/lib/systemd/system/postgresql.service; aktiviert; Herstellervorgabe: aktiviert) Aktiv: aktiv (beendet) seit So, 06. 06.08.06 06: 19:47 UTC; 2Std 13min vorher Prozess: 15349 ExecStart = / bin / true (Code = beendet, Status = 0 / ERFOLG) Haupt-PID: 15349 (Code = beendet, Status = 0 / ERFOLG) 06. Mai 06:19:47 myapp systemd [1] : PostgreSQL RDBMS wird gestartet ... 06. Mai 06:19:47 myapp systemd [1]: PostgreSQL RDBMS.` wurde gestartet
Jerry Ji vor 6 Jahren
1
Wer / Warum hat diese Frage abgelehnt?
Jerry Ji vor 6 Jahren
1
Das Fehlen von Fehlern systemctlund die Tatsache, dass ein postgresqlDienst existiert, ist verwirrend: Es postgresqlhandelt sich um einen "Umbrella" -Dienst, der jede installierte und konfigurierte Postgresql-Instanz startet. In Ihrem Fall haben Sie derzeit keine solche Instanz, aber das ist für den postgresqlDienst in Ordnung . Im Allgemeinen können mehrere verschiedene Versionen von PostgreSQL gleichzeitig (aus verschiedenen Paketen postgresql-<version>) und mehrere Instanzen derselben Version (aus demselben Paket) ausgeführt werden.
Ich würde vorschlagen, Ihre PostgreSQL - Instanzen mit zu überprüfen, pg_lsclustersstatt systemctl. Siehe auch pg_ctlcluster, um sie zu kontrollieren.
1
Mr.Robot
13.05.2014
HAFTUNGSAUSSCHLUSS: Dies gilt für Postgresql 10 und Ubuntu 18.04 und funktioniert möglicherweise nicht für andere Versionen. PS: Wenn Sie in letzter Zeit die Spracheinstellungen manipuliert haben, teilen Sie mir dies bitte mit, da möglicherweise ein Zusammenhang mit dem Postgres-Fehler besteht
Gestern hatte ich genau das gleiche Problem und niemand im ganzen Internet konnte mir helfen, also machte ich Schurken ... Und es hat funktioniert!
Wenn Sie über eine Datenbank mit Daten verfügen, an denen Sie interessiert sind, kann ich Ihnen dort nicht weiterhelfen. Sie müssen einen Weg finden, alle Ihre Daten zu sichern.
Nun zu den eigentlichen Schritten (genau das habe ich gemacht, die Schritte zwischen [ ]Ihnen können übersprungen werden ):
sudo apt entfernen --purge postgres * [sudo apt entfernen --purge pg *] sudo apt automatisch entfernen sudo apt autoclean sudo apt clean [sudo find / -name "* postgres *" - Typ f -delete] -> dies kann alle löschen Backups
Stellen Sie jetzt sicher, dass Sie diese Zeile in /etc/apt/sources.list haben
Erstellen /var/lib/postgresql/.bashrcund schreiben Sie dies
shopt -s histappend HISTSIZE=1000 HISTFILESIZE=2000 shopt -s checkwinsize case "$TERM" in xterm-color|*-256color) color_prompt=yes;; esac force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then color_prompt=yes else color_prompt= fi fi if [ "$color_prompt" = yes ]; then PS1='$\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='$\u@\h:\w\$ ' fi unset color_prompt force_color_prompt if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi source /etc/environment
Wenn jemand, der dies liest, Postgresql für Metasploit benötigt, können Sie diesem Link folgen (es ist für 16.04, funktioniert aber in 18.04), es gibt jedoch einen Fehler: Irgendwann müssen Sie Folgendes ausführen: rvm --default use ruby-$@metasploit-framework gem pristine --all Statt der vorgeschlagenen: rvm --default use ruby-$@metasploit-framework
Wenn Sie außerdem Probleme mit dem Ruby-Bundle-Installationsteil haben, kann dieser Befehl Ihr Leben retten:gem pristine --all
sudo apt entfernen --purge pg *
Jerry Ji vor 6 Jahren
0
Hast Du es versucht?
Mr.Robot vor 6 Jahren
0
Ja, und so fing ich Ihren Tippfehler auf. Vielen Dank für Ihre detaillierten Schritte. Ich wünschte, ich hätte genug Ruf, um Ihre Antwort abzustimmen
Jerry Ji vor 6 Jahren
0
Zu Ihrer Information, um die Installation mit `psql` zu verifizieren:` sudo -u postgres psql postgres`
Daniel vor 6 Jahren
0
0
user902416
Hatte das gleiche Problem hier. Alles was mit Postgres zu tun hatte (apt remove --purge) wurde entfernt, alle verbleibenden Verzeichnisse von Postgres 9 gelöscht und Postgres 10 erneut installiert. Dann erschienen die Konfigurationsdateien unter / etc / postgresql / und die Datenbank konnte gestartet werden. HTH.
0
Daniel
HAFTUNGSAUSSCHLUSS: Dies gilt für Postgresql 10 und Ubuntu 18.04 und funktioniert möglicherweise nicht für andere Versionen.
Befolgen Sie die Antwort, die von Mr Robotexcept erkannt wird:
Der Benutzer und die Gruppe sind postgresalso die Befehlechown -R postgres:postgres ...
Ich bin nicht sicher, was los ist, /lib/systemd/system/postgresql.serviceobwohl irgendwie /lib/systemd/system/postgresql@.serviceein PostgreSQL-Cluster verwaltet wird. Ich glaube, auf jeden Fall lief es bereits, als ich den Anweisungen folgte, und nach dem Neustart (was unnötig sein sollte) kam es wieder online, also denke ich, dass es funktioniert.
0
Patric Bechtel
Benutz einfach
service postgresql@10-main start
und es funktioniert. Ich weiß nicht genau, warum dies nur in 18.04 geschieht (ich habe 17.10 verifiziert und dort nicht passiert), aber der "Regenschirm" scheint die installierten Instanzen nicht aufzählen zu können.