BD 레스토랑 - PostgreSQL + Docker
Atualmente estou estagiando e para facilitar a configuração do meuambiente de desenvolvimento, padronizando com o do restante da equipment da empresa, além de desenvolver meu conhecimento com containers (comecei os ar estudos laterolpratic e que que que rores, comecei os a estudos lastemente etra que) 컨테이너 도커.
주변 환경 준비
Primeiro, criei o arquivo docker-compose.yml para facilitar a definição e a execução dos contêineres.
version: '3'
services:
postgres:
build: .
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "5432:5432"
volumes:
- ./pg-data:/var/lib/postgresql/data
- ./backups:/var/lib/postgresql/backups
networks:
- postgres-network
pgadmin:
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: "[email protected]"
PGADMIN_DEFAULT_PASSWORD: "admin!"
ports:
- "16543:80"
depends_on:
- postgres
networks:
- postgres-network
networks:
postgres-network:
driver: bridge
No meu caso, tive alguns problemas com a codificação do SGBD e para resolvê-lo, tive que especificar para o container PostgreSQL a linguagem e o encoding que seriam utilizados.
FROM postgres:12
RUN localedef -i pt_BR -c -f UTF-8 -A /usr/share/locale/locale.alias pt_BR.utf-8
ENV LANG pt_BR.UTF-8
Esses arquivos entregam uma configuração bem simples para o banco de dados PostgreSQL 및 PG Admin, entretanto, o que precisa-se ser destacado são dois volume usados pelo PostgreSQL, sendo eles:
Para iniciar os serviços necessários, dentro do diretório do arquivo
docker-compose.yml
코만도 실행:docker-compose up -d
Executando 레스토랑
Com o ambient criado e executando, para dar início à restauração é necessário deixar os arquivos de restauração disponíveis para o container do PostgreSQL, para isso, copy o arquivo que de será usado na restauração 파스타
Agora podemos acessar o container de forma interativa, para executarmos os comandos para a restauração.
docker exec -it <nome_container> /bin/bash
컨테이너는 PostgreSQL을 수행하고,/var/lib/postgresql/에 있는 파스타 로컬라이제다에 액세스하고, OS 백업을 관리해야 합니다.
cd /var/lib/postgresql/
A restauração do diretório acontecerá em duas etapas, agora dentro do diretório específico do PostgreSQL, podemos iniciar a restauração com o seguinte comando.
Restaurando o 스키마
pg_restore
--no-owner -U postgres
--dbname= --create
--verbose -c
--schema-only backups/<nome_arquivo>.pgdump
Esse comando com várias flags, que são explicadas detalhadamente neste link , 기본 사항 criará um novo banco de dados e em seguida, fará a importação apenas do schema, deixando os dados para o proximo passo.
레스토랑 os 다도스
Agora que já temos todo a esttrutura do banco de dados, precisamos da parte principal, os dados. Usaremos o mesmo comando para importar os dados, entretanto com algumas opções diferentes.
pg_restore
--no-owner -U postgres
--dbname=<nome_bd>
--verbose --data-only
--superuser=postgres
--disable-triggers backups/<nome_arquivo>.pgdump
Com esse comando apenas dados serão importados para dentro do bd que foi especificado no comando. Um ponto que vale ser destacado trata-se da opção --disable-triggers, que desabilitará a checagem de integridade dos registros, algo que não é muito importante na restauração de um banco de dados, pro que provavelmente já verificou a integridade desses dados, o que nos livra de vários erros, pois durante o processo, pode-se haver a Referência de dados que ainda não foram restaurados.
결론
Pronto, seguindo esses passos você terá restaurado uma base de dados no PostgreSQL rodando com em um container. Essa pode não ser abordagem perfeita, levando em 고려사상 minha inexperiência utilizando Docker, porém funcionou muito bem para o meu cenário e pode ajudar outras pessoas. Destaco também que esseambiente especifico para o desenvolvimento. Caso seja preciso, você pode encontrar o repositório completo desse tutorial aqui .
P.S.: Esse é o meu Primeiro artigo por aqui, gostei bastante de plataforma e estou aberto para sugestões e dicas, tanto na escrita quanto nas tecnologias presentes nesse artigo.
Reference
이 문제에 관하여(BD 레스토랑 - PostgreSQL + Docker), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/alexandrel0pes/restauracao-de-bd-postgresql-docker-30oa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)