Onde estão armazenados os arquivos para um banco de dados PostgreSQL?
postgresql
Teifion
fonte
fonte
sudo -u postgres psql -c "show data_directory;"
mostrará os locais de armazenamento atuais em uma instalação padrão do PostgreSQL.Respostas:
Para ver onde está o diretório de dados, use esta consulta.
Para ver todos os parâmetros de tempo de execução, use
Você pode criar espaços de tabela para armazenar objetos de banco de dados em outras partes do sistema de arquivos. Para ver os espaços de tabela, que podem não estar nesse diretório de dados, use esta consulta.
fonte
No Windows7, todos os bancos de dados são referidos por um número no arquivo nomeado
pg_database
emC:\Program Files (x86)\PostgreSQL\8.2\data\global
. Em seguida, você deve procurar o nome da pasta com esse número emC:\Program Files (x86)\PostgreSQL\8.2\data\base
. Esse é o conteúdo do banco de dados.fonte
Abra o pgAdmin e vá para Propriedades para um banco de dados específico. Encontre o OID e abra o diretório
Deve haver seus arquivos de banco de dados.
fonte
SELECT oid from pg_database where datname = '<dbname>'
Conforme sugerido em " Local padrão do banco de dados PostgreSQL no Linux ", no Linux, você pode descobrir usando o seguinte comando:
fonte
Sob minha instalação do Linux, está aqui:
/var/lib/postgresql/8.x/
Você pode mudar com
initdb -D "c:/mydb/"
fonte
/var/lib/pgsql/data
. Melhor descobrir usandops auxw|grep postgres|grep -- -D
.A localização de tabelas / índices específicos pode ser ajustada por TABLESPACEs:
fonte
Todo mundo já respondeu, mas apenas para as atualizações mais recentes. Se você quiser saber onde todos os arquivos de configuração residem, execute este comando no shell
fonte
Aposto que você está fazendo esta pergunta porque tentou
pg_ctl start
e recebeu o seguinte erro:Em outras palavras, você está procurando o diretório para colocar
-D
em seupg_ctl start
comando.Nesse caso, o diretório que você está procurando contém esses arquivos.
Você pode localizá-lo localizando qualquer um dos arquivos e diretórios acima, usando a pesquisa fornecida com o seu sistema operacional.
Por exemplo, no meu caso (uma instalação HomeBrew no Mac OS X ), esses arquivos estão localizados em
/usr/local/var/postgres
. Para iniciar o servidor, digite:... e funciona.
fonte
brew info postgres
locate <filename>
sudo locate <filename>
O Postgres armazena dados em arquivos em seu diretório de dados. Siga as etapas abaixo para acessar um banco de dados e seus arquivos:
O banco de dados correspondente a um arquivo de tabela postgresql é um diretório. A localização de todo o diretório de dados pode ser obtida executando
SHOW data_directory
. em um sistema operacional UNIX como (por exemplo: Mac)/Library/PostgreSQL/9.4/data
Entre na pasta base no diretório de dados que possui todas as pastas do banco de dados:/Library/PostgreSQL/9.4/data/base
Localize o nome da pasta do banco de dados executando (Fornece um número inteiro. Esse é o nome da pasta do banco de dados):
Localize o nome do arquivo da tabela executando (Fornece um número inteiro. Este é o nome do arquivo):
Este é um arquivo binário. Detalhes do arquivo, como tamanho e data e hora da criação, podem ser obtidos como de costume. Para obter mais informações, leia este tópico do SO
fonte
No Mac:
/Library/PostgreSQL/9.0/data/base
O diretório não pode ser inserido, mas você pode ver o conteúdo via:
sudo du -hc data
fonte
/usr/local/var/postgres
qual você pode descobrir usando @ de MikeSherrillshow data_directory;
ponta/Library/PostgreSQL/9.0/data/base
parece um local mais parecido com um Mac do que/usr/local/var/postgres
. Você não pode procurar o último no Finder sem ativar os recursos ocultos do Finder.No Windows, o diretório PGDATA que os documentos do PostgresSQL descrevem está em algum lugar como
C:\Program Files\PostgreSQL\8.1\data
. Os dados para um banco de dados específico estão em (por exemplo)C:\Program Files\PostgreSQL\8.1\data\base\100929
, onde acho que 100929 é o número do banco de dados.fonte
A resposta do picmate está certa. no windows, o local principal da pasta DB é (pelo menos na minha instalação)
e não em arquivos de programa.
seus 2 scripts, fornecerão o diretório / arquivo exato que você precisa:
o meu está no nome de dados 16393 e no relfilenode 41603
fonte
Estou executando o postgres (9.5) em um contêiner de encaixe (no CentOS, por acaso) e, como Skippy le Grand Gourou menciona em um comentário acima, os arquivos estão localizados em
/var/lib/postgresql/data/
.fonte