WSL Linux에서 Windows 10 측의 PostreSQL (등의 서버)을 호출한다

3201 단어 PostgreSQLWindows10

경위


  • WSL의 Linx에서 Windows 10 측의 PostgreSQL (등의 서버)을 호출하려고 해, 곧 할 수 없었기 때문에 메모
  • WSL Linux와 Windows 10 간의 통신에서 고려 될 수 있습니다
  • 꽤 힘들기 때문에, WSL 측에 PostgreSQL Server를 넣는 등을 검토하는 것이 좋을지도 모른다

  • 환경



    Windows 10 측면


  • Windows 10
  • postgresql-13.3-2-windows-x64.exe
  • Windows Terminal
  • WSL2

  • WSL 우분투 측


  • Windows Subsystem for Linux Ubuntu 20.04
  • postgresql-client-common
  • postgresql-client-12
  • net-tools
  • sudo apt install postgresql-client-common
    sudo apt install postgresql-client-12
    sudo apt install net-tools
    

    WSL Linux에서 IP 주소 확인 (WSL 작업)


    ifconfig
    

    WSL에서 Windows 10 측에 액세스하기위한 IP 주소 얻기 (WSL 작업)


  • nameserver가 Windows10측의 IP가 되는 것을 이용하고 있습니까? (* 1 참조)
  • grep nameserver /etc/resolv.conf | awk '{print $2}'
    
  • 시작할 때마다 IP가 바뀌므로 Windows 10 측의 IP를 쓰는 명령을 .bashrc에 추가하는 것과 같은 메커니즘이 필요합니다 (* 1에서는 호스트에 추가하는 것 같습니다).
  • 이번에는 시도하지 않았지만, 다음이 *1에 있는 내용
  • cat /etc/hosts | grep 172.; test $? -eq 0 && $1 || echo -e "$(grep nameserver /etc/resolv.conf | awk '{print $2, " host"}')\n$(cat /etc/hosts)" | sudo tee /etc/hosts
    

    PostgreSQL Client Authentication Configuration File(액세스 제어) 설정(Windows 10측 설정)


  • PostgreSQL pg_hba.conf 편집

  • 위치


    C:\Program Files\PostgreSQL\13\data\
    

    편집 내용 예


  • WSL에서 통신 할 수 있도록 설정
  • (클래스 B의 개인 IP 주소를 지정했지만 올바른지)
  • host    all             all             172.16.0.0/12           trust
    

    안티 바이러스와 같은 보안 앱 설정


  • 각 앱에서 통신 할 수 있도록 설정을 검토합니다.

    Windows Defender Firewall 설정 예


  • "수신 규칙"에서 "프로토콜 및 포트"개방
  • 범위를 지정하고 IP 주소를 지정합니다.









    psql 실행


    psql -h 172.x.x.x -U postgres
    

    참고 자료


  • *1 h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 56824788 / 호 w와 콘 ct - 와우 ws 포 stg 레 s
  • 좋은 웹페이지 즐겨찾기