dark777
(usa Debian)
Enviado em 20/02/2020 - 14:37h
atf escreveu:
Parece que o usuário "postgres" não tem acesso ao diretório para gravar seu histórico.
Veja como estão as permissões para o "postgresql" e tente não usar o "psql" com o usuário "postgres".
Também verifique se foi indicado o diretório de "log" para o postgres.
LinuxUser#142898
Estava fazendo algumas alterações em um script para criação do usuário e manipulação de id's dos mesmo e acabei encontrando o problema.
Isso acontece por que em /etc/passwd e etc/passwd-
estava configurado como esta abaixo:
postgres:x:1002:1002:PostgreSQL:/opt/PostgreSql/9.6:/bin/bash
Entao foi nescessario parar o postgres:
bash# service postgresql stop
depois executei os comandos abaixo:
# Criei o diretório home do postgres:
bash# mkdir -p /var/lib/pgsql
# Configurei o dono do home:
bash# chown -R postgres.postgres /var/lib/pgsql
# No meu caso instalei o postgres 9.6.7 então fiz um set na variavel:
bash# VERSION="9.6"
# Iniciei o banco de dados na home do usuario:
bash# su postgres -c '/usr/bin/initdb -D /var/lib/pgsql/'${VERSION}'/data'
# Notei que mesmo se iniciarmos o banco de dados novamente ainda aparecerá o erro abaixo:
bash# su - postgres -c '/usr/bin/pg_ctl -D /var/lib/pgsql/'${VERSION}'/data -l logfile start'
Sem diretório, logando com HOME=/
server starting
# Editei o arquivo /etc/passwd e /etc/passwd-
bash# nano /etc/{passdw,passwd-}
e alterei a linha abaixo:
postgres:x:1002:1002:PostgreSQL:/opt/PostgreSQL/9.6:/bin/bash
para
postgres:x:1002:1002:PostgreSQL:/var/lib/pgsql/9.6:/bin/bash
# Reiniciei o banco de dados:
bash# su - postgres -c '/usr/bin/pg_ctl -D /var/lib/pgsql/'${VERSION}'/data -l logfile start'
server starting
Pronto problema resolvido.
wiki.anon