스키마 Postgres의 CREATE TABLE

Seukima Postgres Ui Create Table



PostgreSQL은 가장 널리 사용되는 객체 관계형 데이터베이스 시스템 중 하나입니다. 복잡한 데이터 워크로드를 처리하기 위한 추가 기능으로 SQL 언어를 확장하는 무료 오픈 소스 소프트웨어입니다. 신뢰할 수 있고 안전한 다양한 데이터 유형으로 작업할 수 있습니다. PostgreSQL의 기능에 대해 자세히 알아보세요.

이 가이드에서는 PostgreSQL의 스키마에 테이블을 생성하는 방법에 대해 자세히 알아봅니다.







PostgreSQL의 스키마

PostgreSQL 데이터베이스는 하나 이상의 명명된 스키마를 포함할 수 있으며 각 스키마는 테이블을 포함합니다.



충돌 없이 여러 스키마에 동일한 개체 이름을 할당할 수 있습니다. 예를 들어 다음 스키마/테이블 트리는 유효합니다.



  • schema_a
    • 1 번 테이블
    • 테이블_2
  • schema_b
    • 1 번 테이블
    • 테이블_2

운영 체제 수준에서 디렉터리와 같은 스키마를 생각할 수 있습니다. 차이점은 중첩된 스키마가 있을 수 없다는 것입니다. 스키마에 대해 자세히 알아보기 PostgreSQL 설명서 .





스키마를 구현하는 데는 여러 가지 이유가 있을 수 있습니다.

  • 서로 충돌하지 않고 동일한 데이터베이스를 사용하는 여러 사용자.
  • 데이터베이스를 논리적 그룹으로 더 잘 구성하고 관리합니다.
  • 타사 앱은 기존 스키마 또는 다른 개체와 충돌하지 않고 고유한 스키마를 생성할 수 있습니다.

PostgreSQL의 테이블

모든 관계형 데이터베이스는 각각 행과 열로 구성된 여러 관련 테이블로 구성됩니다. PostgreSQL은 다양한 시스템 정보를 포함하는 여러 내장 테이블과 함께 제공됩니다. 그러나 사용자 정의 데이터베이스 및 스키마 아래에 새 테이블을 만들 수도 있습니다.



전제 조건:

이 가이드에 설명된 단계를 수행하려면 다음 구성 요소가 필요합니다.

  • 적절하게 구성된 Linux 시스템. 자세히 알아보기 버추얼박스에 우분투 설치하기 .
  • PostgreSQL의 적절한 설치. 체크아웃 우분투에 PostgreSQL 설치 .
  • 에 대한 액세스 PostgreSQL 사용자 ~와 함께 사용 권한 데이터베이스에.

이 가이드의 목적을 위해 다음을 사용합니다. 포스트그레스 PostgreSQL에서 모든 작업을 수행합니다.

스키마에서 테이블 생성

데모 데이터베이스 생성

앞서 언급했듯이 스키마는 데이터베이스 아래에 존재합니다. 데모 목적으로 더미 데이터베이스를 생성하여 기존 데이터베이스의 중단을 방지합니다.

다음과 같이 PostgreSQL 셸에 액세스합니다. 포스트그레스 :

$ sudo -i -u 포스트그레스 psql

새 데이터베이스 만들기 데모_db:

$ 데이터베이스 demo_db 생성;

데이터베이스가 성공적으로 생성되었는지 확인합니다.

$ \l

마지막으로 새로 만든 데이터베이스에 연결합니다.

$ \connect demo_db;

공개 스키마

PostgreSQL의 모든 새 데이터베이스는 기본 스키마와 함께 제공됩니다. 공공의 . 스키마 이름을 지정하지 않고 개체를 생성하려고 하면 기본적으로 공개 스키마가 선택됩니다.

다음 명령은 PostgreSQL 데이터베이스에서 사용 가능한 모든 스키마를 인쇄합니다.

$ \dn

또는 다음 SQL 쿼리를 사용할 수도 있습니다.

$ 선택 * pg_catalog.pg_namespace에서;

새 스키마 생성

특정 데이터베이스 아래에 새 스키마를 생성하기 위한 명령 구조는 다음과 같습니다.

$ CREATE SCHEMA ;

규칙에 따라 새 스키마 demo_schema를 생성해 보겠습니다.

$ 스키마 만들기 demo_schema;

확인을 위해 스키마 목록을 확인하십시오.

$ \dn

스키마에서 테이블 생성

이제 대상 스키마가 생성되었으므로 테이블로 채울 수 있습니다.

테이블 생성 구문은 다음과 같습니다.

CREATE TABLE <스키마>.<테이블 이름> (

...
)

여기:

  • 개요 : 이 필드는 테이블이 생성되는 스키마의 이름을 지정합니다. 값이 제공되지 않으면 다음 아래에 테이블이 생성됩니다. 공공의 개요.

데모를 위해 간단한 테이블을 만듭니다.

테이블 생성 demo_schema.demo_table(

이름 문자(64),

ID INT는 NULL이 아닙니다.

);

여기:

  • 필드 이름 64자의 문자열을 저장하도록 지정되었습니다.
  • 필드 ID 정수 값을 포함합니다. 용어 ' NULL이 아님 ”는 것을 나타냅니다. ID 비어 있거나 null일 수 없습니다.

다음 쿼리를 사용하여 테이블의 존재를 확인할 수 있습니다.

$ 선택 * demo_schema.demo_table에서;

테이블에 데이터 삽입

테이블이 준비되면 이제 몇 가지 값을 삽입할 수 있습니다.

demo_schema.demo_table(이름, ID)에 삽입

가치

('PQR', 45),

('IJK', 99)

;

테이블의 내용을 확인하십시오.

$ 선택 * demo_schema.demo_table에서;

스키마 관리

스키마 권한

스키마 권한의 도움으로 특정 스키마에서 어떤 역할이 어떤 작업을 수행할 수 있는지 관리할 수 있습니다. 가능한 모든 권한 중에서 스키마는 다음을 지원합니다. 생성 및 사용.

특정 역할에 대한 스키마 권한을 업데이트하기 위한 명령 구조는 다음과 같습니다.

$ GRANT ON SCHEMA TO ;

특정 역할에 대한 스키마 권한을 취소하기 위한 명령 구조는 다음과 같습니다.

$ REVOKE ON SCHEMA TO ;

다음 명령을 사용하여 변경 사항을 확인합니다.

$ \dn+

스키마 속성 변경

의 도움으로 변경 스키마 명령문을 사용하여 스키마의 다양한 속성을 수정할 수 있습니다. 예: 소유권, 스키마 이름 등

스키마 이름을 변경하려면 다음 쿼리를 사용합니다.

$ ALTER SCHEMA 으로 이름 바꾸기;

스키마 소유권을 변경하려면 다음 쿼리를 사용합니다.

$ ALTER SCHEMA OWNER TO ;

소유권을 변경하려면 현재 사용자에게 소유권이 있어야 합니다. 만들다 스키마에 대한 권한.

스키마 삭제

스키마가 더 이상 필요하지 않은 경우 다음을 사용하여 삭제할 수 있습니다. 하락 질문:

$ DROP SCHEMA

스키마에 개체가 포함되어 있으면 종속 수식어:

$ DROP SCHEMA CASCADE;

테이블 관리

테이블 권한

스키마와 마찬가지로 각 테이블에는 역할이 테이블에서 수행할 수 있는 작업을 정의하는 권한 관리도 함께 제공됩니다.

테이블의 권한을 확인하려면 psql에서 다음 명령을 사용하십시오.

$ \dp <테이블 이름>

테이블 속성 변경

의 도움으로 테이블 변경 명령문을 통해 이미 존재하는 테이블의 다양한 측면을 수정할 수 있습니다.

예를 들어 열을 삭제하기 위한 쿼리는 다음과 같습니다.

$ ALTER TABLE DROP COLUMN <컬럼>;

새 열을 추가하려면 다음 쿼리를 사용할 수 있습니다.

$ ALTER TABLE
ADD COLUMN ;

특정 열에 대한 압축을 설정할 수도 있습니다.

$ ALTER COLUMN SET COMPRESSION ;

테이블 삭제

스키마에서 테이블을 삭제하려면 다음을 사용할 수 있습니다. 드롭 테이블 질문:

$ DROP TABLE <테이블 이름>;

스키마와 달리 드롭 테이블 쿼리는 테이블이 비어 있는지 여부에 관계없이 오류를 생성하지 않습니다.

결론

이 가이드에서는 PostgreSQL의 스키마에 테이블을 생성하는 방법을 설명했습니다. 더미 데이터베이스 내에 더미 스키마를 생성하고 스키마 내에 테이블을 생성했습니다. 이 가이드에서는 스키마와 테이블의 다양한 속성을 관리하는 방법도 소개했습니다.

더 나은 데이터 무결성을 위해 다음을 구성할 수 있습니다. 논리적 PostgreSQL 복제 . PostgreSQL 데이터베이스를 정상 상태로 유지하기 위해 다음을 구성할 수 있습니다. 자동 진공 삭제된 레코드가 남긴 데드 튜플을 정리합니다.

더 많은 PostgreSQL 가이드는 다음을 확인하세요. PostgreSQL 하위 범주 .