05/13/2018  
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это для postgresql 10 и Ubuntu 18.04, и может работать или не работать для других версий. PS: Если вы в последнее время вмешивались в языковые настройки, пожалуйста, скажите мне, потому что может быть связь с ошибкой postgres
Вчера у меня возникла точно такая же проблема, и никто во всем Интернете не мог мне помочь, поэтому я стал мошенником ... И это сработало!  
Прежде всего, если у вас есть какая-либо база данных с данными, которые вы хотите сохранить, я не могу вам помочь; вам нужно будет найти способ сделать резервную копию всех ваших данных.
Теперь перейдем к реальным шагам (это именно то, что я сделал, шаги между [ ] вы можете пропустить):
  sudo apt удалить --purge postgres *
  [sudo apt remove --purge pg *]
  sudo apt autoremove
  sudo apt autoclean
  sudo apt clean
  [sudo find / -name "* postgres *" -type f -delete] -> это может удалить любые резервные копии
Теперь убедитесь, что у вас есть эта строка в /etc/apt/sources.list  
  deb http://cz.archive.ubuntu.com/ubuntu bionic main 
Если нет, просто добавьте это ... Давай продолжим:
  Обновление sudo
  Обновление sudo
  sudo apt install -y postgresql-10 postgresql-contrib postgresql-клиент
  [sudo apt install -y postgresql-server pgadmin3] -> это вам может понадобиться для metasploit
  [перезагрузка sudo]  
Теперь вы должны проверить, были ли созданы необходимые каталоги:
/etc/postgresql/10/main -> файлы конфигурации
/usr/lib/postgresql/10/bin -> скрипты и исполняемые файлы
/var/run/postgresql -> временные файлы
/var/lib/postgresql/10/main -> папки  
Если что-то из этого не существует, я не могу вам помочь. Вы также должны убедиться, что пользователь postgres существует. Давайте продолжим:
  sudo chown root /usr /lib /postgresql -R
  корень sudo chgrp /usr /lib /postgresql -R
  sudo chmod 755 /usr /lib /postgresql -R  
Теперь перейдите в файл /etc/environment и добавьте его в PATH: /usr/lib/postgresql/10/bin  
  Судо Чоун postgres /etc /postgresql -R
  sudo chgrp postgres /etc /postgresql -R
  sudo chmod 700 /etc /postgresql -R  
  
  sudo echo ""> /etc/postgresql/10/main/postgresql.log
  sudo chown postgresql /etc/postgresql/10/main/postgresql.log
  sudo chgrp postgresql /etc/postgresql/10/main/postgresql.log
  sudo chmod 700 /etc/postgresql/10/main/postgresql.log  
  
  sudo mkdir /var/run/postgresql/10-main.pg_stat_tmp
  sudo chown postgres /var/run/postgresql/10-main.pg_stat_tmp -R
  sudo chgrp postgres /var/run/postgresql/10-main.pg_stat_tmp -R
  sudo chmod 700 /var/run/postgresql/10-main.pg_stat_tmp -R  
Создайте /var/lib/postgresql/.bashrc и запишите это
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='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\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
А потом:
  sudo chown postgresql /var/lib/postgresql/.bashrc
  sudo chgrp postgresql /var/lib/postgresql/.bashrc
  sudo chmod 664 /var/lib/postgresql/.bashrc
  [перезагрузка sudo]  
А теперь финальная часть:  
  судо су
  su postgresql  
Для запуска postgresql:  
  pg_ctl start -D /etc /postgresql /10 /main -l /etc/postgresql/10/main/postgresql.log
Чтобы закончить это:  
  kill $(cat /var/run/postgresql/10-main.pid)
Базовая конфигурация (введите интерпретатор postgresql ):
  PSQL
\du+ -> список пользователей postgresql
\l -> список баз данных postgresql
createuser и dropuser -> говорят сами за себя
createdb и dropdb -> говорят сами за себя  
ЭКСТРА: МЕТАСПЛОЙТ
Если кому-то, читающему это, нужен postgresql для metasploit, вы можете перейти по этой ссылке (она для 16.04, но отлично работает в 18.04), однако есть ошибка: в какой-то момент вам нужно будет запустить это:
rvm --default use ruby-${RUBY_VERSION}@metasploit-framework gem pristine --all вместо предложенного:
rvm --default use ruby-${RUByVERSION}@metasploit-framework  
Кроме того, если у вас возникнут проблемы с установочной частью пакета ruby , эта команда может спасти вам жизнь: gem pristine --all