Onde o PostgreSQL salva os bancos/ tabelas

Olá a todos!
Tem um mês que estou utilizando o POstgreSQL, cosegui uma boa apostila e comecei a fazer exemplos, criei o banco-nomes e a tabela clima. Beleza pelo terminal consigo acessá-lo, mas onde foi salva não sei. Consegui localizar o local exato que está a pasta do postgreSQL, porém não consigo visualizar os exemplos que criei.
Quem puder ajudar.
Obrigada

Você não vai ter um local com um arquivo onde vc olhe e diga “ah, está aqui a tabela que criei”, pois o banco físico fica salvo em uma série de arquivos binários, geralmente na pasta “global” e/ou “base” dentro da pasta de instalação do postgre… No linux geralmente fica em “/var/lib/posgtre…”

1 curtida

E se eu precisar deste arquivo para usar em outra máquina ?

E nesta boa apostila que voce leu fala sobre Backup / restore ? se não ela não e tão boa assim

Obs.: O pg_dump não faz backup de objetos grandes (lo) por default. Caso desejemos também estes objetos no backup devemos utilizar uma saída no formato tar e utilizar a opção -b.

pg_dump -Ftb banco > banco.tar

Backup local de um único banco:

pg_dump -U usuario -d banco > banco.sql

pg_dump -Ft banco > banco.tar

O script normalmente leva a extensão .sql, por convenção, mas pode ser qualquer extensão e o script terá conteúdo texto puro.

Restore de um banco local:

psql -U usuario -d banco < banco.sql

pg_restore -d banco banco.sql

pg_restore -d banco banco.tar

1 curtida

Se você está lidando com banco de dados, esqueça o conceito de “arquivo”… Para fazer uma cópia para um outro banco você não vai procurar um “arquivo” e jogar dentro de uma “pasta” na outra máquina… você vai fazer um backup do banco A e restaurá-lo no banco B, como o amigo acima comentou…

Instale o pgAdmin na máquina, ele é um ambiente com interface gráfica que ajuda você a fazer estas operações com o SGBD.

Obs.: Nunca substitua a interface gráfica pelo shell de comandos e/ou sqls. Use-a sabendo como as coisas acontecem por baixo…

1 curtida

Desculpem por reviver este tópico 5 anos depois, mas queria saber se atualmente, com todas as atualizações no pgadmin, é possível fazer o que quero: trabalho com postgresql em duas máquinas. Não quero ficar diariamente fazendo backup de todos os bancos e restaurando… queria tipo deixar o postgresql instalado no DropBox, por exemplo, de forma a ter tudo sincronizado nas duas máquinas. É possível fazer isso?

Não, acredito que não seja possível, o Dropbox é para compartilhar arquivos e não tem como instalar um software lá, pois é apenas um serviço de armazenamento.

E porque não ter a BD em algum lugar acessível e trabalhar sempre sobre a mesma BD?

PostgreSql é servidor de banco de dados.

Para isso que você descreveu de uso local replicado e sincronizado, usa o Sqlite.

1 curtida