pgai
루비 젬을 사용한 데이터베이스 실험실 접근
경고:
pgai
젬은 아직 새로운 데이터베이스 실험실 인스턴스를 사용하도록 업데이트되지 않았습니다. 따라서 이 도구를 사용하여 gitlab-production-main
및 gitlab-production-ci
에만 접근할 수 있습니다.
@mbobin이 만든 pgai
루비 젬은 데이터베이스 복제본에 대한 접근을 크게 단순화하며 다음을 지원합니다:
- Postgres.ai 인스턴스 페이지에 나열된 모든 데이터베이스 복제본에 대한 접근;
- 동일한 복제본에 대한 여러
psql
세션.
AllFeaturesUser
psql
접근이 있는 경우, 다음 단계를 따라 pgai
젬을 구성할 수 있습니다:
-
시작하려면 Postgres.ai 인스턴스 페이지에서 몇 가지 값을 수집해야 합니다:
- 구성하려는 인스턴스로 이동한 후 화면 오른쪽에서 클릭합니다.
-
Connection에서 Connect를 선택합니다. 메뉴가 축소되어 있을 수 있습니다.
구성에 필요한 모든 항목이 포함된 대화 상자가 나타납니다. 형식은 다음과 같습니다:
dblab init --url "http://127.0.0.1:1234" --token TOKEN --environment-id <environment-id>
ssh -NTML 1234:localhost:<environment-port> <postgresai-user>@<postgresai-proxy> -i ~/.ssh/id_rsa
-
다음 스니펫을 SSH 구성 파일
~/.ssh/config
에 추가하고 변수 값을 바꿉니다:Host pgai-proxy HostName <postgresai-proxy> User <postgresai-user> IdentityFile ~/.ssh/id_ed25519
-
다음 명령을 실행하여 서버 키 핑거프린트를 수락합니다:
ssh pgai-proxy
-
다음 명령을 실행합니다:
gem install pgai # 액세스 토큰 가져오기: https://console.postgres.ai/gitlab/tokens # GITLAB_USER는 귀하의 GitLab 핸들입니다 pgai config --prefix=$GITLAB_USER # 사용할 인스턴스에 대해 https://console.postgres.ai/gitlab/instances에서 각각의 포트 값을 가져옵니다 # (이 경우 `main` 데이터베이스 인스턴스의 경우) pgai env add --alias main --id <environment-id> --port <environment-port> -n <database_name>
-
이 일회성 구성이 완료되면
pgai connect
를 사용하여 특정 데이터베이스에 연결할 수 있습니다. 예를 들어,main
데이터베이스에 연결하려면:pgai connect main
-
복제본 작업이 완료되면 다음 명령으로 삭제할 수 있습니다:
pgai destroy main