psql
을 사용하여 연결
데이터베이스 내에서 작성되는 데이터 구조의 직접 상호작용 및 모니터링을 위해 psql
를 사용하십시오. psql
는 조회 및 성능 테스트 및 모니터링, 스크립트 설치 및 수정, 기타 관리 활동에도 유용합니다.
admin
사용자에게는 PostgreSQL 기본 역할 pg_monitor
을 사용하여 PostgreSQL 모니터링 보기 및 기능에 액세스할 수 있습니다. 기본적으로 admin
사용자는 다른 사용자가 만든
개체에 대한 권한이 없습니다.
데이터베이스에 연결하기 전에 admin
비밀번호를 설정해야 합니다. 자세한 정보는 관리 비밀번호 설정 페이지를 참조하십시오.
설치 psql
psql
을 사용하려면 PostgreSQL 클라이언트 도구를 로컬 시스템에 설치해야 합니다. 에서 제공하는 전체 PostgreSQL 패키지로 설치할 수 있습니다 postgresql.org 에서 제공하는 전체 패키지를 운영 체제의 패키지 관리자에서 패키지로 설치할 수 있습니다.
psql
에 대한 자세한 내용은 PostgreSQL 문서를 참조하세요.
PostgreSQL 도구를 설치하기 위한 대부분의 지시사항에서는 데이터베이스도 설치하려는 것으로 가정합니다. 클라우드 또는 원격 서버에서 PostgreSQL 에 대한 액세스 권한이 없는 사용자를 처리하는 경우에는 합리적인 가정입니다.
다음은 macOS, Linux 및 Windows에 독립 실행형 도구로 psql
을 설치하는 단계입니다.
Homebrew를 사용하여 macOS 에 psql
설치
Homebrew 를 macOS의 패키지 관리자로 사용하는 것이 좋습니다. Homebrew를 사용하면 일반적으로 /usr/local/bin
에서 사용 가능한 프로그램을 사용하여 여러 애플리케이션을 설치할 수 있습니다. PostgreSQL 클라이언트 도구에 대한 홈브리어의 패키지는 libpq
패키지입니다. 브라이어를 사용하면 설치가 쉬워집니다.
brew install libpq
libpq
는 /usr/local/bin
디렉토리에 설치되지 않습니다. 이를 수행하려면 다음을 실행해야 합니다.
brew link --force libpq
이는 libpq
뿐만 아니라 모든 도구를 /usr/local/bin
디렉토리로 symlink (다른 파일 또는 폴더를 가리키는 파일) 합니다.
Ubuntu에 postgresql-client
설치하기
Linux 시스템과 달리 macOS, 에는 패키지 관리자가 내장되어 있습니다. Ubuntu(및 Debian 기반 배포의 경우) apt
명령입니다. PostgreSQL 클라이언트는 postgresql-client
라는 별칭으로 배포됩니다. 설치하려면 다음과 같은 명령을 실행하세요:
sudo apt-get install postgresql-client
그러면 PostgreSQL 클라이언트가 설치됩니다.
Red Hat Enterprise Linux에 postgresql-client
설치하기
Red Hat Enterprise Linux(또는 일반적으로 쓰이는 RHEL)의 경우, Ubuntu보다 설정이 조금 더 복잡합니다. RHEL의 경우 패키지 관리자는 Yum
입니다.
먼저, 다음과 같이 Yum
을 PostgreSQL 리포지토리를 가리키도록 설정해야 합니다:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm
Yum
URL 로 이동하여 해당 패키지 리포지토리를 사용하도록 구성합니다. 이 작업이 완료되면 이름별로 패키지를 추가할 수 있습니다:
sudo yum install postgresql15
이 명령은 클라이언트 패키지만 설치합니다. 해당 저장소를 어디에서 찾을 수 있는지 궁금하다면 URL, Linux 다운로드 ( Red Hat 제품군 ) 에서 PostgreSQL 버전, 플랫폼 및 아키텍처를 선택할 수 있는 양식을 찾을 수 있으며 해당 Red Hat 변형에 적합한 지침을 제공합니다 - 여기에는 CentOS, Scientific Linux, Oracle Enterprise Linux 이 포함됩니다. 여기에는 Fedora도 포함됩니다. Fedora의 기본 리포지토리에는 이미 PostgreSQL 클라이언트를 사용할 수 있습니다. 따라서 Fedora 27 및 28 이상의 경우 터미널에서 PostgreSQL 클라이언트를 설치합니다:
sudo dnf install postgresql.x86_64
Windows에 psql
설치
Windows의 경우 PostgreSQL 엔터프라이즈 DB의 설치 관리자을 사용합니다. Windows에서는 PostgreSQL에 대한 전체 설치 패키지이지만 psql
과 같은 명령줄 도구만 설치하도록
설정할 수 있습니다. 사용 중인 PostgreSQL 및 Windows 버전을 선택합니다. 실행 파일이 다운로드되면 실행합니다. 서버를 설치할 필요가 없는 경우 커맨드 라인 도구만 선택합니다.
설치가 완료되면 명령 프롬프트에서 psql
클라이언트를 사용할 수 있도록 Windows 환경 변수를 설정합니다. 제어판 > 시스템 및 보안 > 시스템으로 이동하여* 고급 시스템 설정*을 선택합니다. 거기에서 시스템 속성이라는 상자가 표시됩니다. 환경 변수를
선택하십시오. 두 개의 환경 변수 세트가 있는 창이 나타납니다. "사용자 변수 대상..."으로 표시된 상단 세트에서 PATH
항목을 선택한 다음 편집 버튼을 클릭합니다. 편집 창이 나타납니다. 새로 만들기를 클릭하고 psql
클라이언트의 경로를 추가합니다. 경로는 PostgreSQL이 설치된 위치에 따라 다르지만
일반적으로 다음과 같습니다:
C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin
그런 다음 확인를 두 번 클릭하여 데스크톱으로 돌아갑니다. 새 명령 프롬프트를 시작하면 psql
를 실행할 수 있어야 합니다.
psql
연결 문자열
연결 문자열은 배포 개요의 엔드포인트 패널에 표시되며 Cloud Databases CLI 플러그인 및 API에서도 검색할 수 있습니다.
psql
사용을 통해 연결하는 데 필요한 정보는 연결 문자열의 "cli" 섹션에 있습니다. 이 표에는 참조에 대한 분석이 포함되어 있습니다.
필드 이름 | 색인 | 설명 |
---|---|---|
Bin |
연결을 작성하기 위해 권장되는 바이너리입니다. 이 경우 psql 입니다. |
|
Composed |
배치에 대한 연결을 설정하는 형식화된 명령. 명령은 Bin 실행 파일, Environment 변수 설정을 결합하고 Arguments 를 명령행 매개변수로 사용합니다. |
|
Environment |
환경 변수로 설정한 키/값 목록입니다. | |
Arguments |
0 ... | Bin 필드에 표시된 명령에 인수로 전달되는 정보입니다. |
Certificate |
Base64 | 애플리케이션이 적절한 서버에 연결 중인지 확인하는 데 사용되는 서비스 전용 인증서입니다. 이는 base64로 인코딩됩니다. |
Certificate |
이름 | 서비스 전용 인증서에 할당된 이름입니다. |
Type |
이 연결 정보를 사용하는 패키지 유형입니다. 여기서는 cli 입니다. |
0...
배열에 이러한 항목이 하나 이상 있을 수 있음을 표시합니다.
명령행 클라이언트 연결 작성
명령행 클라이언트 연결을 작성하기 전에 배치에 대한 관리자 비밀번호를 설정 했는지 확인하십시오.
ibmcloud cdb deployment-connections
명령은 명령행 클라이언트 연결 작성과 관련된 모든 사항을 처리합니다. 예를 들어, "example-postgres"라는 배치에 연결하려면 다음 명령을 사용하십시오.
ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start
or
ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s
명령은 관리 비밀번호를 입력하도록 프롬프트를 표시한 후 psql
명령행 클라이언트를 실행하여 데이터베이스에 연결합니다.
Cloud Databases CLI 플러그인을 설치하지 않은 경우 PostgreSQL 데이터베이스에 "구성된" 연결 문자열을 지정하여 psql
을 사용하여 연결합니다. 환경 변수 PGPASSWORD
및 PGSSLROOTCERT
항목을 제공합니다. PGPASSWORD
을 관리자 비밀번호로, PGSSLROOTCERT
을 서비스 전용 인증서의 경로 또는 파일 이름으로 설정합니다.
PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=4a8148fa-3806-4f9c-b3fc-6467f11b13bd.8f7bfd7f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32325 dbname=ibmclouddb user=admin sslmode=verify-full'
서비스 전용 인증서 사용
- 엔드포인트 패널 또는 연결 정보의 Base64 필드에서 인증서 정보를 복사하십시오.
- 필요하면, Base64 문자열을 텍스트로 디코딩하십시오.
- 파일에 인증서를 저장하십시오. (제공되는 이름 또는 자체 파일 이름을 사용할 수 있습니다.)
ROOTCERT
환경 변수에 인증서 경로를 제공하십시오.
다음 명령을 사용하여 CLI 플러그인으로 배치에 대한 디코딩된 인증서를 표시할 수 있습니다.
ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>
명령은 base64를 텍스트로 디코딩합니다. 명령의 출력을 복사하여 파일에 저장하고 ROOTCERT
환경 변수에 대한 파일 경로를 제공하십시오.
또 다른 옵션은 연결 문자열에 &sslrootcert=/path/to/cert
추가입니다. 예:
postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert