Ubuntu 다중 채널 VM에 PostgreSQL 설치
Ubuntu multipass를 사용하여 가상 시스템을 만들기로 결정했습니다.나는 이전에 써 본 적이 없다. 이것은 시도할 기회이다.Multipass에서는 명령줄에서 vm 인스턴스를 시작할 수 있습니다.나는 installation docs 쉽게 이해할 수 있다는 것을 발견했고 몇 분 후에 Ubuntu 가상 컴퓨터가 하나 생겼다.
다중 경로 설치
나는 맥 컴퓨터 한 대를 가지고 있기 때문에 멀티패스brew를 설치하거나 직접 설치할 수 있는 몇 가지 옵션이 있다.brew를 통해 설치하도록 선택했습니다.
$ brew install --cask multipass
내 설치에 대한 주의 사항:$ multipass version
multipass 1.8.1+mac
multipassd 1.8.1+mac
가상 머신 생성
launch
명령은 새 vm를 만드는 데 사용됩니다.이름을 제공하거나 여러 경로로 이름을 만들 수 있습니다.나는 --name
인자를 사용하여 이름db 서버를 제공하기를 선택했다.$ multipass launch --name db-server
vm에 액세스하는 방법에는$ multipass shell db-server
셸에는 가상 시스템의 IP 주소를 포함한 통계 정보가 표시됩니다.나중에 데이터베이스에 연결할 때 필요한 IP 주소를 적어 두십시오.PostgreSQL 설치
나는 the instructions on the PostgreSQL Ubuntu page를 사용하여 최신 버전을 설치했다.다음 명령은 이 페이지에서 복사됩니다.다음 작업은
exec
케이스 내에서 수행됩니다.# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Update the package lists:
sudo apt-get update
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get -y install postgresql
PostgreSQL을 설치하면 Ubuntu 가상 시스템에 db-server
계정이 생성됩니다.psql에 액세스하려면 로그인합니다.ubuntu@db-server:$ sudo su - postgres
postgres@db-server:~$ psql
에서는 다음을 보여 줍니다.psql (14.2 (Ubuntu 14.2-1.pgdg20.04+1))
Type "help" for help.
postgres=#
postgres 사용자는 비밀번호가 없습니다.postgres
명령을 사용하여 다음을 설정할 수 있습니다.psql (14.2 (Ubuntu 14.2-1.pgdg20.04+1))
Type "help" for help.
postgres=# \password
Enter new password for user "postgres":
postgres를 종료하려면 \password
명령을 사용하십시오데이터베이스 액세스 설정
PostgreSQL은 가상 시스템에 설치되어 있지만 아직 호스트(macOS)에서 액세스하지 않았습니다.PostgreSQL 구성 파일을 수정해야 합니다.이러한 파일은
\q
디렉토리에 있습니다.내 예에서 파일은 /etc/postgresql/{version}/main/
에 있다.경고: PostgreSQL을 설정하는 보안 방법은 다음과 같습니다.PostgreSQL 보안 설정에 대한 자세한 내용은 PostgreSQL documentation를 참조하십시오.
참고: 수정 작업 중에
/etc/postgresql/14/main/
사용자로 로그인했습니다.postgresql.형태.
이 파일에는 기본 저장 위치와 메모리 분배 등의 설정이 포함되어 있습니다.PostgreSQL에서 수신할 IP 주소도 구성합니다.
이 행을 찾습니다.
#listen_addresses = 'localhost' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
행에 대한 주석을 취소하고 localhost를 "*"로 변경하려면 삭제postgres
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
pg_hba.형태.
이 파일은 보안을 관리합니다.사용자 인증, 데이터베이스 액세스 및 연결을 허용하는 IP 주소를 제어합니다.참가 양식은 다음과 같습니다.
CONNECTION_TYPE DATABASE USER ADDRESS METHOD
파일에 다음 행을 추가합니다.host all all samenet md5
호스트가 서버와 동일한 서브넷에 있는 경우 위 행에서 모든 데이터베이스와 사용자가 TCP/IP 연결을 허용합니다.연결 방식은 "md5"입니다.#
는 연결을 허용하는 데이터베이스입니다.이런 상황에서 모든 데이터베이스는 연결될 수 있다.all
는 연결 가능한 사용자입니다.이 경우 모든 사용자가 연결할 수 있습니다. all
를 사용하여 서버가 있는 서브넷의 모든 주소를 연결할 수 있음을 나타냅니다.samenet
사용자가 복귀postgres
사용자를 반환하고 PostgreSQL을 다시 시작합니다.sudo systemctl restart postgresql.service
# check that PostgreSQL is ready after the restart
sudo pg_isready
pgAdmin
pgAdmin 내 호스트(MacOS)에 설치됩니다.Ubuntu 가상 머신에 설치된 PostgreSQL에 연결하는 데 사용하려고 합니다.서버 추가 마법사를 사용하여 데이터베이스에 연결하고 다음 정보를 제공합니다
샘플 데이터베이스 설치
다음에, 나는 시계와 데이터를 사용하고 싶기 때문에 예시 데이터베이스를 설치했다.구글 검색은 많은 선택을 제공했다.나는 northwind sample database for psql을 선택했다.
역할 작성
우선,northwind db에 사용할 캐릭터를 만들었습니다.나는'db 서버'메뉴 옵션을 오른쪽 단추로 클릭하고'창설-> 로그인/그룹 캐릭터...'를 선택하여 새 캐릭터를 만들었습니다.pgAdmin documentation 모든 필드에 대한 세부 정보가 들어 있습니다.요컨대 나는 다음과 같은 일을 했다.
CREATE ROLE north WITH
LOGIN
NOSUPERUSER
CREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD 'xxxxxx';
COMMENT ON ROLE north IS 'The user for the northwind database';
저장 버튼을 클릭하면 북쪽 역할이 만들어집니다.데이터베이스 만들기
나는 "db 서버"메뉴 옵션을 오른쪽 단추로 클릭하고 "창설->데이터베이스..."를 선택하여 데이터베이스를 만들었다.pgAdmin documentation는 데이터베이스를 만드는 방법을 상세하게 소개했다.나는 다음과 같은 몇 가지 일을 했다.
CREATE DATABASE northwind
WITH
OWNER = north
TEMPLATE = template1
ENCODING = 'UTF8'
LC_COLLATE = 'C.UTF-8'
LC_CTYPE = 'C.UTF-8'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;
COMMENT ON DATABASE northwind
IS 'Sample database';
데이터베이스 로드
Query Tool를 열고 db 서버->Databases->northwind로 내려가서 오른쪽 단추를 누르고Query Tool을 선택하십시오.postgres 사용자로 로그인했기 때문에, 내가 실행하는 모든 SQL은 이 계정을 사용할 것입니다.노스 계좌를 바꾸고 싶습니다.질의 도구 편집기에서 연결 드롭다운 목록을 클릭하여 사용자를 변경할 수 있습니다.
ubuntu
사용자로 연결한 후 연결 정보는 north
이어야 한다.다음으로, Northwind 샘플 데이터베이스를 GitHub에서 내 호스트(MacOS)로 다운로드합니다.
$ curl https://raw.githubusercontent.com/pthom/northwind_psql/master/northwind.sql -o northwind.sql
그리고 pgadmin의 검색 도구를 사용해서 이 테이블들을 불러왔습니다.내가 사용하는 단계는 다음과 같습니다.이 테이블은 게스트 컴퓨터(Ubuntu)에서도 볼 수 있습니다.postgres 사용자로서northwind 데이터베이스에 로그인하여
northwind/north@db-server
명령 목록표를 사용합니다.postgres@db-server:~$ psql northwind
psql (14.2 (Ubuntu 14.2-1.pgdg20.04+1))
Type "help" for help.
northwind=# \dt
가상 머신 중지/시작
Ubuntu 가상 머신을 닫으려면 다음 명령을 사용합니다.
$ multipass stop db-server
서버를 재부팅하려면 다음 명령을 사용합니다.$ multipass start db-server
결론
나는 지금 PostgreSQL을 실행하는 가상 머신이 하나 있다!
Reference
이 문제에 관하여(Ubuntu 다중 채널 VM에 PostgreSQL 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/monicag/install-postgresql-onto-ubuntu-multipass-vm-511p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)