중요합니다
Azure Cosmos DB for PostgreSQL은 더 이상 새 프로젝트에 지원되지 않습니다. 새 프로젝트에는 이 서비스를 사용하지 마세요. 대신 다음 두 서비스 중 하나를 사용합니다.
99.999% SLA(가용성 서비스 수준 약정), 인스턴트 자동 크기 조정 및 여러 지역에서 자동 장애 조치(failover)를 사용하는 대규모 시나리오용으로 설계된 분산 데이터베이스 솔루션에는 NoSQL용 Azure Cosmos DB를 사용합니다.
오픈 소스 Citus 확장을 사용하여 분할된 PostgreSQL용 Azure Database for PostgreSQL의 탄력적 클러스터 기능을 사용합니다.
COPY 명령은 파일과 데이터베이스 테이블 간에 데이터를 이동하는 데 사용됩니다.
COPY는 디스크에 대한 액세스가 필요한 서버 기반 명령으로, 일반적으로 서버 관리자로 제한됩니다. 그러나 Azure Cosmos DB for PostgreSQL은 PaaS(Platform-as-a-Service) 솔루션으로 작동하므로 사용자에게 슈퍼 사용자 권한이 부여되지 않습니다. 따라서 COPY 명령은 플랫폼에서 완전히 지원되지 않습니다.
또는 \COPY는 psql에서 사용할 수 있는 명령 및 실행되는 머신의 로컬 파일 시스템과의 직접 상호 작용을 용이하게 하는 다른 클라이언트 인터페이스입니다.
Azure Blob Storage 지원
pg_azure_storage 확장은 Azure Blob Storage를 데이터 원본으로 활용하여 디스크 액세스 제한을 극복합니다. 이 확장을 사용하도록 설정하면 Azure Blob Storage 지원을 통해 기본 제공 COPY 명령도 향상됩니다.
github_users 명령을 사용하여 COPY 테이블로 데이터 로드:
COPY github_users
FROM 'https://pgquickstart.blob.core.windows.net/github/users.csv.gz';
현재 확장은 다음 파일 형식을 지원합니다.
| format | description |
|---|---|
| csv | PostgreSQL COPY에서 사용하는 쉼표로 구분된 값 형식 |
| tsv | 탭으로 구분된 값, 기본 PostgreSQL COPY 형식 |
| binary | 이진 PostgreSQL COPY 형식 |
| text | 단일 텍스트 값이 포함된 파일(예: 큰 JSON 또는 XML) |
참고 항목
지원되는 구문 및 옵션은 다음과 같은 예외를 제외하고 Postgres Native COPY 명령과 동일하게 유지됩니다.
FREEZE [ boolean ]HEADER MATCH
COPY TO구문은 지원되지 않습니다.\COPY는psql기반 명령이며 Azure Blob Storage 통합을 지원하지 않습니다.\COPY는 클러스터에서 import\export를 수행할 수 있지만 네트워크를 통해 파일을 이동/복사해야 합니다.
다음 단계
pg_azure_storage 확장 사용에 대해 자세히 알아봅니다.