이 가이드에서는 슈퍼유저가 아닌 사용자로 PostgreSQL에서 데이터베이스를 생성하고, 필요한 권한을 할당하고, 다음 작업을 수행할 수 있는지 확인하는 단계를 안내합니다. 수퍼유저로 로그인할 필요 없이 항상 새로 생성된 데이터베이스에 연결하세요.
이 기능은 모든 작업에 대해 관리 권한이 필요 없이 PostgreSQL에서 자신의 데이터베이스를 관리하려는 개발자나 사용자에게 유용합니다.
우리가 달성할 것:
1.새 데이터베이스를 생성합니다(거북이-데모).
2.수퍼유저가 아닌 역할(테스트 사용자)에게 데이터베이스를 생성하고 액세스할 수 있는 권한을 부여합니다.
3.수퍼유저로 먼저 전환할 필요 없이 원활하게 데이터베이스로 전환(tortoise-demo)합니다.
4.테스트 사용자로 로그인할 때 항상 tortoise-demo에 자동으로 연결하도록 PostgreSQL을 구성합니다.
1단계: testuser에게 필요한 권한 부여
수퍼유저가 아닌 사용자로 데이터베이스를 생성하기 전에 자신의 역할(이 경우 testuser)이 데이터베이스를 생성할 수 있는 적절한 권한을 가지고 있는지 확인해야 합니다.
CREATEDB 권한 부여
기본적으로 새로 생성된 PostgreSQL 역할에는 데이터베이스를 생성할 수 있는 권한이 없습니다. 슈퍼유저(예: postgres)로 로그인한 경우 테스트유저 역할에 필요한 권한을 부여할 수 있습니다.
1.슈퍼유저로 로그인(예: postgres):
psql -U postgres
2.테스트 사용자에게 CREATEDB 권한 부여:
테스트 사용자가 새 데이터베이스를 생성할 수 있도록 다음 SQL 쿼리를 실행하세요.
GRANT CREATEDB TO "testuser";
이렇게 하면 테스트 사용자가 슈퍼유저 권한 없이도 데이터베이스를 생성할 수 있습니다.
3.수퍼유저 세션 종료:
\q
2단계: testuser로 로그인하고 데이터베이스 생성
이제 testuser 역할에 CREATEDB 권한이 있으므로 testuser로 로그인하여 새 데이터베이스를 생성할 수 있습니다.
테스트 사용자로 로그인:
testuser 역할로 로그인하려면 다음 명령을 실행하세요.
psql -U "testuser" -d postgres -W
- -U "testuser" 옵션은 사용자를 지정합니다.
- -d postgres 옵션은 postgres 데이터베이스(기본 관리 데이터베이스)에 연결합니다.
- -W 옵션은 testuser에 대해 설정한 비밀번호(예: 1234567890)를 묻는 메시지를 표시합니다.
거북이 데모 데이터베이스를 생성합니다:
로그인한 후 새 데이터베이스 tortoise-demo를 만듭니다.
CREATE DATABASE "tortoise-demo";
이 명령은 tortoise-demo라는 새 데이터베이스를 생성합니다.
소유권 설정(선택 사항):
testuser가 데이터베이스에 대한 모든 권한을 갖도록 하려면 데이터베이스 소유권을 testuser에게 할당할 수 있습니다.
psql -U postgres
이 단계는 선택 사항이지만 testuser 역할이 tortoise-demo 데이터베이스에 대한 전체 관리 제어 권한을 갖도록 보장합니다.
3단계: tortoise-demo 데이터베이스로 전환
데이터베이스를 생성한 후 새로 생성된 데이터베이스로 전환(거북이 데모)하여 작업을 시작할 수 있습니다.
Tortoise-demo에 연결하려면 다음을 실행하세요.
GRANT CREATEDB TO "testuser";
c 명령은 현재 세션을 tortoise-demo 데이터베이스로 전환합니다. 이제부터 SQL 쿼리를 실행하고 데이터베이스를 관리할 수 있습니다.
4단계: 매번 전환할 필요 없이 tortoise-demo 연결 자동화
이제 tortoise-demo 데이터베이스를 성공적으로 생성하고 전환했으므로 다음 단계는 이 프로세스를 자동화하는 것입니다. 특히, 우리는 folasayoolayemi로 로그인할 때마다 명시적으로 전환할 필요 없이 자동으로 tortoise-demo 데이터베이스에 연결되도록 PostgreSQL을 구성하려고 합니다.
옵션 1: PGDATABASE 환경 변수 설정
항상 tortoise-demo 데이터베이스에 연결되도록 하는 쉬운 방법 중 하나는 PGDATABASE 환경 변수를 설정하는 것입니다. 이 변수는 연결 시 기본적으로 사용할 데이터베이스를 PostgreSQL에 알려줍니다.
1.현재 세션에 대한 PGDATABASE 설정:
현재 터미널 세션에서 다음과 같이 환경 변수를 설정할 수 있습니다.
\q
이렇게 하면 이후에 실행하는 모든 psql 명령이 기본적으로 tortoise-demo에 자동으로 연결됩니다.
2.변경 사항을 영구적으로 적용:
이 변경 사항이 터미널 세션 전반에 걸쳐 지속되도록 하려면 셸의 구성 파일(.bashrc, .zshrc 등)에 내보내기 명령을 추가하세요.
예를 들어 bash를 사용하는 경우 ~/.bashrc 파일에 다음 줄을 추가하세요.
psql -U "testuser" -d postgres -W
그런 다음 다음을 실행하세요.
CREATE DATABASE "tortoise-demo";
이렇게 하면 새 터미널 세션을 열 때마다 PostgreSQL이 데이터베이스를 지정할 필요 없이 자동으로 tortoise-demo에 연결됩니다.
옵션 2: 연결 명령에 항상 데이터베이스 지정
PGDATABASE 환경 변수를 사용하지 않으려면 언제든지 psql 연결 명령에 데이터베이스 이름을 지정할 수 있습니다.
ALTER DATABASE "tortoise-demo" OWNER TO "testuser";
이렇게 하면 연결할 때마다 tortoise-demo 데이터베이스를 직접 지정하므로 구성을 변경할 필요가 없습니다.
주요 단계:
1.CREATEDB 권한 부여: testuser 역할에 데이터베이스를 생성하는 데 필요한 권한이 있는지 확인하세요.
2.데이터베이스 생성: testuser로 로그인하고 tortoise-demo 데이터베이스를 생성합니다.
3.데이터베이스로 전환: tortoise-demo로 전환하려면 c 명령을 사용하세요.
4.데이터베이스 연결 자동화: 기본적으로 항상 tortoise-demo에 연결하도록 PGDATABASE 환경 변수를 설정하거나 psql 명령에 데이터베이스 이름을 명시적으로 지정합니다.
결론:
이 단계를 수행하면 새 데이터베이스를 생성해야 할 때마다 슈퍼유저 권한이 필요하지 않고 슈퍼유저가 아닌 사용자로서 PostgreSQL에서 자체 데이터베이스를 생성하고 관리할 수 있습니다. 특정 데이터베이스에 자동으로 연결하는 기능은 특히 특정 프로젝트나 애플리케이션을 사용하는 개발자의 작업 흐름을 더욱 효율적으로 만들어줍니다.
읽어주셔서 감사합니다...
즐거운 코딩하세요!
위 내용은 슈퍼유저 액세스 없이 PostgreSQL에서 데이터베이스를 생성하고 항상 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Tomergelistsinpython, youcanusethe operator, extendmethod, listcomprehension, oritertools.chain, 각각은 각각의 지위를 불러 일으킨다

Python 3에서는 다양한 방법을 통해 두 개의 목록을 연결할 수 있습니다. 1) 작은 목록에 적합하지만 큰 목록에는 비효율적입니다. 2) 메모리 효율이 높지만 원래 목록을 수정하는 큰 목록에 적합한 확장 방법을 사용합니다. 3) 원래 목록을 수정하지 않고 여러 목록을 병합하는 데 적합한 * 운영자 사용; 4) 메모리 효율이 높은 대형 데이터 세트에 적합한 itertools.chain을 사용하십시오.

join () 메소드를 사용하는 것은 Python의 목록에서 문자열을 연결하는 가장 효율적인 방법입니다. 1) join () 메소드를 사용하여 효율적이고 읽기 쉽습니다. 2)주기는 큰 목록에 비효율적으로 운영자를 사용합니다. 3) List Comprehension과 Join ()의 조합은 변환이 필요한 시나리오에 적합합니다. 4) READE () 방법은 다른 유형의 감소에 적합하지만 문자열 연결에 비효율적입니다. 완전한 문장은 끝납니다.

pythonexecutionissprocessoftransformingpythoncodeintoExecutableInstructions.1) the -interreadsTheCode, ConvertingItintoByTecode, thethepythonVirtualMachine (pvm)을 실행합니다

Python의 주요 특징은 다음과 같습니다. 1. 구문은 간결하고 이해하기 쉽고 초보자에게 적합합니다. 2. 개발 속도 향상, 동적 유형 시스템; 3. 여러 작업을 지원하는 풍부한 표준 라이브러리; 4. 광범위한 지원을 제공하는 강력한 지역 사회와 생태계; 5. 스크립팅 및 빠른 프로토 타이핑에 적합한 해석; 6. 다양한 프로그래밍 스타일에 적합한 다중-파라 디그 지원.

Python은 해석 된 언어이지만 편집 프로세스도 포함됩니다. 1) 파이썬 코드는 먼저 바이트 코드로 컴파일됩니다. 2) 바이트 코드는 Python Virtual Machine에 의해 해석되고 실행됩니다. 3)이 하이브리드 메커니즘은 파이썬이 유연하고 효율적이지만 완전히 편집 된 언어만큼 빠르지는 않습니다.

USEAFORLOOPHENTERATINGOVERASERASERASPECIFICNUMBEROFTIMES; USEAWHILLOOPWHENTINUTIMONDITINISMET.FORLOOPSAREIDEALFORKNOWNSEDINGENCENCENS, WHILEWHILELOOPSSUITSITUATIONS WITHERMINGEDERITERATIONS.

Pythonloopscanleadtoerrors likeinfiniteloops, modifyinglistsdizeration, off-by-by-byerrors, zero-indexingissues, andnestedloopineficiencies.toavoidthese : 1) aing'i


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구