사용자를 생성하는 방법 PostgreSQL PgAdmin을 사용하여

⚡ 스마트 요약

사용자 생성 PostgreSQL pgAdmin에서 시각적으로 또는 SQL Shell에서 CREATE USER 명령을 사용하여 사용자를 생성할 수 있습니다. 그런 다음 GRANT 명령으로 권한을 부여하고, ALTER USER 명령으로 역할을 수정하고, DROP USER 명령으로 계정을 삭제할 수 있습니다.

  • 🖱️ pgAdmin에서 생성: 로그인/그룹 역할을 마우스 오른쪽 버튼으로 클릭하고 이름을 입력하고 암호와 권한을 설정한 다음 저장하여 사용자를 생성합니다.
  • 💻 사용자 생성 명령: SQL Shell에서 `CREATE USER name WITH options` 명령은 로그인, 관리자 권한 및 암호를 한 번에 설정합니다.
  • 🔑 접근 권한 부여: GRANT ALL PRIVILEGES ON DATABASE db TO user 명령은 기존 사용자에게 데이터베이스에 대한 접근 권한을 부여합니다.
  • 🔧 사용자 변경: ALTER USER 명령은 슈퍼유저와 같은 권한을 추가하거나 취소하여 역할의 권한을 조정합니다.
  • 🗑️ 사용자 삭제: DROP USER 명령은 계정을 제거하지만, 해당 계정이 더 이상 데이터베이스 객체를 소유하지 않게 된 후에만 작동합니다.
  • 🧾 역할 vs 사용자: 사용자 생성(CREATE USER)은 기본적으로 로그인(LOGIN)으로 설정되고, 역할 생성(CREATE ROLE)은 기본적으로 로그인 금지(NOLOGIN)로 설정됩니다. 그 외에는 동일합니다.

사용자를 생성하는 방법 PostgreSQL PgAdmin을 사용하여

어떻게 작성 방법 PostgreSQL PgAdmin의 사용자

다음은 사용자를 만드는 방법에 대한 단계별 프로세스입니다. PostgreSQL PgAdmin:

단계 1) 로그인을 마우스 오른쪽 버튼으로 클릭하세요.

첫 번째 단계에서 로그인 그룹 역할을 마우스 오른쪽 버튼으로 클릭 -> 생성 -> 로그인 그룹 역할 클릭…

만들기 PostgreSQL PgAdmin의 사용자

단계 2) 로그인/그룹 역할 생성

이제 로그인 이름을 입력하세요.

만들기 PostgreSQL PgAdmin의 사용자

단계 3) 정의를 클릭하고 세부 정보를 입력하세요

  1. 암호를 입력
  2. 계정 만료 날짜

만들기 PostgreSQL PgAdmin의 사용자

단계 4) 권한 섹션

  1. Toggle 로그인 가능 버튼을 YES로 설정
  2. Toggle 수퍼유저를 YES로 설정

만들기 PostgreSQL PgAdmin의 사용자

단계 5) The SQL 섹션에 있어야 합니다.

  1. 이전 단계에서 선택한 사항에 따라 사용자를 생성하는 SQL 쿼리가 표시됩니다.
  2. 저장 버튼을 클릭하세요

만들기 PostgreSQL PgAdmin의 사용자

단계 6) 역할이 생성되었습니다.

이제 Role이 객체 트리에 반영됩니다.

만들기 PostgreSQL PgAdmin의 사용자

단계 7) 만들기 데이터베이스

이제 아래 사용자 Postgres 생성 예제와 같이 소유자 myguru를 할당합니다.

만들기 PostgreSQL PgAdmin의 사용자

단계 8) 명령줄

이제 소유자가 myguru임을 알 수 있습니다.

만들기 PostgreSQL PgAdmin의 사용자

PostgreSQL 사용자 SQLShell 생성(명령줄)

명령줄 명령을 사용하여 사용자를 생성할 수 있습니다.

CREATE USER

Postgres에서 비밀번호를 사용하여 사용자를 생성하는 방법은 프로그래머와 관리자가 콘솔에 액세스할 수 있기 때문에 더 편리합니다. PostgreSQL 섬기는 사람. 또한 로그인하고 인터페이스를 사용하는 대신 단일 명령으로 Postgres 사용자 생성 및 실행이 필요합니다. PostgreSQL 고객.

구문 :

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

예:

CREATE USER tom;

사용자 tom을 생성합니다

CREATE USER tom WITH SUPERUSER;

tom이라는 사용자를 최고 관리자 권한으로 생성하겠습니다. 다음 예시를 살펴보겠습니다.

단계 1) 3까지 유효한 수퍼유저를 생성 중입니다.rd 2025년 4월 11일 11시 50분 38초 (인도 표준시). 다음 명령어를 입력하세요.

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

사용자 SQLShell 만들기

단계 2) 사용자 체크리스트에 \du 명령을 입력하세요.

사용자 SQLShell 만들기

알림: CREATE USER 명령어는 CREATE ROLE 명령어와 동일합니다. 두 명령어의 차이점은 PostgreSQL에서 CREATE USER 명령어를 사용하면 기본적으로 LOGIN 상태로 실행되는 반면, CREATE ROLE 옵션을 사용하면 NOLOGIN 상태로 실행된다는 점입니다.

데이터베이스에 기존 사용자 추가

사용자에게 데이터베이스에 액세스할 수 있는 권한을 부여할 수 있습니다.

예, 사용자 "mytest"에게 사용자 guru99에 대한 모든 권한을 부여합니다.

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

데이터베이스에 기존 사용자 추가

실행 후 PostgreSQL add user 명령을 사용하면 사용자는 지정된 권한으로 데이터베이스에 액세스할 수 있습니다.

GRANT 명령은 매우 강력합니다. 사용자에게 선택, 삽입, 업데이트 등 세분화된 권한을 부여할 수 있습니다.

PostgreSQL 사용자 업데이트 중

기존 사용자 권한 변경

이제 새로운 사용자 "mytest"가 존재하므로 ALTER USER를 사용하여 사서에게 부여된 권한을 변경할 수 있습니다.

ALTER USER Postgres의 형식에는 사용자 이름과 이를 알리는 몇 가지 옵션이 포함됩니다. PostgreSQL 허용되는 변경 사항은 무엇입니까?

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Rev확인 권한

실수를 해서 취소하고 싶은 권한을 잘못 할당한 경우 이 명령을 사용해야 합니다. 허용 옵션 앞에 접두사 없이 ALTER USER 명령을 사용할 수 있습니다.

예를 들어 다음과 같이 mytest에서 SUPERUSER 상태를 제거할 수 있습니다.

ALTER USER mytest WITH NOSUPERUSER;

\du를 사용하면 슈퍼유저 권한이 제거되는 것을 볼 수 있습니다.

Rev확인 권한

권한 할당

다음 명령을 사용하여 사용자 SUPERUSER 권한으로 "mytest"를 다시 사용할 수 있습니다.

ALTER USER mytest WITH SUPERUSER;

\du를 사용하면 슈퍼유저 권한이 추가되는 것을 볼 수 있습니다.

권한 할당

PostgreSQL 사용자 삭제

특정 사용자가 더 이상 데이터베이스에 속하지 않는다고 확신하는 경우 모든 사용자 삭제를 사용할 수 있습니다. 사용자를 삭제해도 실제 데이터베이스에는 영향을 미치지 않습니다.

Syntax: DROP USER [user]

사용자를 삭제하려면 해당 사용자가 데이터베이스 소유자인지 확인해야 합니다. 그렇지 않으면 오류 메시지가 표시될 수 있습니다.

ERROR:  role "username" cannot be dropped because some objects depend on it

예:

  1. 계정 "myguru"는 데이터베이스 "demoDB"의 소유자입니다.
  2. DROP USER myguru 명령을 입력하세요.
  3. 오류가 표시됩니다

PostgreSQL 사용자 삭제

데이터베이스 소유자를 변경하면 사용자가 삭제될 수 있습니다.

PostgreSQL 사용자 삭제

컨닝 페이퍼

중요한 명령은 다음과 같습니다

명령 기술설명
CREATE USER [user]
사용자 생성 명령
ALTER USER role_specification
기존 사용자 권한 변경
ALTER USER [user]
Rev확인 권한
ALTER USER [user name] WITH SUPERUSER
권한 할당
DROP USER [user]
사용자 삭제 명령

자주 묻는 질문

psql 셸에서 `\du` 명령을 실행하면 모든 역할과 해당 속성 목록을 볼 수 있습니다. 또한 시스템 카탈로그에서 `SELECT rolname FROM pg_roles` 명령을 사용하여 동일한 정보를 프로그램적으로 조회할 수도 있습니다.

예를 들어, `ALTER USER mytest WITH PASSWORD 'newpassword'`와 같이 `ALTER USER` 명령어를 사용하십시오. 변경 사항은 즉시 적용됩니다. 비밀번호는 암호화되어 저장되며, 관리자 또는 사용자 본인만 변경할 수 있습니다.

In PostgreSQL사용자와 역할은 동일한 객체입니다. `CREATE USER` 명령은 기본적으로 로그인할 수 있는 역할을 생성하고, `CREATE ROLE` 명령은 `LOGIN` 속성을 추가하지 않으면 로그인할 수 없는 역할을 생성합니다.

AI는 필요한 접근 권한에 대한 간단한 설명만으로 CREATE USER, GRANT, ALTER USER 문을 생성하고 각 권한에 대한 설명을 제공할 수 있습니다. 이를 통해 구문을 암기하지 않고도 최소 권한 원칙에 따른 보안을 적용할 수 있습니다.

예. AI는 필요한 권한만 부여하는 세부적인 GRANT 명령어를 제안하고, 광범위한 슈퍼유저 권한 부여에 대한 경고를 표시하며, 보다 쉽고 안전한 관리를 위해 역할을 사용하여 권한을 그룹화할 것을 권장할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.