Esqueci como iniciei o PostgreSQL da última vez (há meses) e não me lembro onde o diretório de dados está localizado. O postgres
comando parece exigir a localização do diretório de dados.
Estou no MacOsX se isso ajudar.
/usr/local/postgres
não existe no meu Mac.
Usando as respostas fornecidas abaixo, descobri que estava aqui:
/usr/local/var/postgres
postgresql
mac-os-x
cara aleatório
fonte
fonte
data
é/usr/local/var/postgres
Respostas:
Se você pode se conectar ao banco de dados com acesso de superusuário,
é o caminho mais curto.
Se o servidor não estiver em execução e você esqueceu onde estava o diretório de dados, precisará realmente se adivinhar. Uma convenção específica do sistema operacional ou o histórico do shell pode fornecer dicas.
fonte
Você também pode consultá-lo
fonte
pg_config
mostra muitas informações, incluindo o diretório de dados:Isso pode ser uma coisa específica de fermentação; sem bebida não sei o que mostra.
fonte
pg_config --configure
não é o mesmo que obrew info postgresql
recomendado (que é$(brew --prefix)/var/postgres
e não é um link simbólico para o listado). Parece que a fórmula é um pouco relaxada no uso de sinalizadores de configuração corretamente.postgresql-<ver>
pacote apt, mas exige tambémpostgresql-server-dev-<ver>
$(brew --prefix postgresql)/homebrew.mxcl.postgresql.plist
, veja para o caminho que segue o-D
(está/usr/local/var/postgres
no meu).No Ubuntu \ Debian, tente o
pg_lsclusters
comandoNa minha máquina:
fonte
Se você não conseguir fazer login (por exemplo, esqueceu sua senha), mas o serviço estiver em execução, como o MacOS X é uma variante posix, você sempre poderá verificar
ps
se está sendo transmitido como argumento:Em uma caixa Linux com duas instâncias do postgres em execução:
fonte
Abra o postgresql.conf, vá para a linha:
é a sua resposta.
fonte
postgresql.conf
find / -iname "postgresql.conf" 2>/dev/null
para descobrirpostgresql.conf
não temdata_directory
definido. É referenciado apenas em um comentário:#data_directory = 'ConfigDir' # use data in another directory
As versões modernas do cliente de desktop PostgreSQL para OSX possuem uma conveniente caixa de diálogo "Configurações do servidor", que permitirá não apenas listar o diretório de dados, mas abri-lo diretamente.
Muito útil se ocorrer uma falha aleatória na máquina que deixa para trás um arquivo de bloqueio.
fonte
No OS X 10.8 e 10.9 (não 10.10) com o aplicativo do servidor instalado, em uma janela do terminal, digite
No OS X 10.9 Mavericks, essa é a saída que recebo disso, que inclui o diretório de dados.
Eu apenas tentei isso no Yosemite (OS X 10.10) e o postgres não está mais listado como um serviço em serveradmin (embora o postgres esteja instalado).
não lista postgres
fonte
No Windows Server 2012, o comando
pg_config
não revelou o diretório de dados por algum motivo maluco. Mas eu encontrei olhando o arquivoC:\Program Files\PostgreSQL\9.4\pg_env.bat
, que continha esta linha:Essa foi a resposta que eu precisava.
fonte
Que tal usar o utilitário padrão pg_config como
pg_config --bindir
One também pode obter os parâmetros de configuração usados para compilar o PostgreSQL e analisá-los compg_config --configure
fonte
--bindir
mostra a localização dos executáveis, não o diretório de dados.--configure
está OK, mesmo que seja necessário analisar um pouco a saída.Como apontado, também se pode usar
ps
para capturar a localização dos dados, como:ps -e |egrep postgres|egrep -E '[[:blank:]]+\-D'| perl -pe 's/^.*[[:blank:]]+-D[[:blank:]]+(\S+).*?$/$1/'
.Isso funcionaria na maioria das vezes. Ele retornaria algo como
/usr/local/pgsql/data
ou onde quer que fosse especificado nos parâmetros do PostgreSQL no lançamento.fonte
Com base na resposta de @Matthew Mark Miller, no macOS 10.14 usando o Postgres 11, está localizado em:
fonte
Generalizando a partir das 2 principais respostas:
Para mostrar o diretório de dados diretamente na linha de comando:
Para ver também todos os outros caminhos definidos para arquivos e diretórios:
Saída de amostra:
(No Windows, substitua
LIKE '/%'
porLIKE '%/%'
porque o caminho começa com uma letra de unidade)fonte