Linux에서 PostgreSQL 구성
- Linux 시스템에서 PostgreSQL의 기본 설정
- PostgreSQL Linux에 아직 없는 경우 사용자 이름 만들기
-
PSQL Shell에서
ROLE
및DATABASE
생성 -
PORT CONNECT
도구를 사용하여 데이터베이스에 액세스 - Linux에서 PostgreSQL을 구성하는 다양한 방법
이 튜토리얼은 Linux에서 PostgreSQL을 설정하는 방법을 알려줍니다. 자세한 설정은 Ubuntu 또는 Fedora, Bodhi, PepperMint, BackBox 등과 같은 다른 Linux 배포에 중점을 둘 것입니다.
Linux 시스템에서 PostgreSQL의 기본 설정
- 터미널에서 PostgreSQL을 설치합니다.
Ubuntu, Debian 또는 Mint의 경우:
명령:
sudo apt-get install postgresql
아치 리눅스의 경우:
명령:
sudo pacman -S postgresql
Fedora, Red Hat 등과 같은 YUM
설치의 경우 다음을 수행해야 합니다.
- 여기에서
CURL
명령에 대한 PostgreSQL 버전URL
을 얻으십시오: URL. URL
이 확보되면 이URL
에CURL
요청을 발행하여 리포지토리를 다운로드합니다.
명령:
curl -O [url]
- 그런 다음 RPM을 설치합니다.
명령:
rpm -ivh [rpm file name]
이 배포를 원하는 경우 나중에 패키지를 다운로드할 수도 있습니다.
- 사용자 Postgres로 데이터베이스에 연결.
PostgreSQL 설치의 bin 디렉터리에 연결하는 명령을 실행해 보겠습니다.
명령:
cd BINPATH (most probably: /var/lib/postgresql/12/main)
경로 내부에서 SUDO -U
명령을 실행하여 데이터베이스에 연결해 보겠습니다. 다음과 같이 쿼리를 실행합니다.
sudo -u postgres psql template1
TEMPLATE1
은 기본 데이터베이스이지만 위 쿼리에서 TEMPLATE1
위치에 정의된 모든 것을 사용할 수 있습니다. 연결되면 이제 지정된 데이터베이스에 들어간 것입니다.
- 데이터베이스
POSTGRES
의 비밀번호 설정.
세션에 들어가면 다음과 같은 내용이 표시됩니다.
postgres=# or template1=#
이제 데이터베이스 세션에 로그인했음을 의미합니다. 다음과 같이 ALTER
문을 사용하여 루트 데이터베이스 POSTGRES
의 암호를 설정해 보겠습니다.
ALTER USER postgres with encrypted password '[YOUR_PASSWORD]';
암호가 변경되면 다음 출력이 반환됩니다.
출력:
ALTER ROLE
\q
명령을 사용하여 세션에서 로그아웃한 다음 다시 로그인하여 원하는 변경 사항을 확인하십시오.
- 연결을 위한
PG_HBA.CONF
수정
Linux 내부의 파일을 수정하려면 콘솔 편집기인 VIM
을 사용하여 파일을 수정합니다. VIM
이 설치되어 있지 않은 경우 아래 명령을 다운로드하여 실행할 수 있습니다.
명령:
sudo apt install VIM;
VIM
을 사용하여 디렉토리에서 PG_HBA.CONF
파일을 편집하십시오. MAIN
디렉토리는 CD
명령을 사용하여 액세스할 수 없습니다.
명령:
sudo vim \var\lib\postgresql\12\main\pg_hba.conf
직선이 보이고 내부에 데이터가 없는 경우 파일에 다음 행을 추가하십시오.
local all postgres md5
그런 다음 ESC
를 누르고 :wqa
를 입력하여 편집기에서 EXIT
로 이동합니다.
- 데이터베이스 생성 및 Postgres로 로그인
새 데이터베이스를 만들려면 다음 명령을 사용합니다.
sudo -u postgres createdb NEW_DB
이를 확인하려면 아래 명령을 사용하여 비밀번호로 로그인하십시오.
psql - U postgres -W
경우에 따라 POSTGRES
에 올바른 암호를 입력한 후에도 다음 오류가 반환될 수 있습니다.
psql: error: FATAL: Peer authentication failed for user 'postgres'
이것은 전적으로 PG_HBA.CONF
에서 연결에 대한 PEER
옵션을 변경하지 않았기 때문에 발생합니다.
이는 Linux에서 PostgreSQL 세션을 실행하는 데 필요한 모든 것입니다. 아래에서 설명하는 다른 방법과 방법이 있습니다.
PostgreSQL Linux에 아직 없는 경우 사용자 이름 만들기
일부 버전에서는 다음 명령으로 사용자를 CREATE
합니다.
명령:
sudo -u template1 createuser --superuser [user_name]
사용자가 생성되면 먼저 비밀번호 없이 간단하게 로그인할 수 있습니다. 나중에 암호를 설정하려면 ALTER
문을 사용하십시오.
POSTGRES
사용자는 시스템에서 PostgreSQL 설치를 위한 루트 사용자로 작동합니다. 기본 파일에 대한 쓰기 액세스 권한이 있어야 하며 훨씬 더 높은 보안 기능에 사용할 수 있습니다.
PSQL Shell에서 ROLE
및 DATABASE
생성
PSQL
셸에 로그인하면 다음 쿼리를 사용하여 새 데이터베이스 또는 사용자를 CREATE
할 수 있습니다.
CREATE ROLE [user_name] LOGIN PASSWORD 'abc123';
CREATE DATABASE [database name] WITH OWNER = [user_name];
PORT CONNECT
도구를 사용하여 데이터베이스에 액세스
다른 시스템의 사용자로 PostgreSQL 세션에 연결하기 위해 활용할 수 있는 또 다른 방법은 다음 명령을 사용하는 것입니다.
$ psql -h [host_name] -d [database_name] -U [_username] -p [port_number]
이것은 다른 사용자를 시스템에 연결하는 데 도움이 됩니다. 이 명령을 사용하여 사용자가 서버에서 호스팅되는 PostgreSQL 세션에서 실행되도록 구성한 다음 쿼리를 실행하고 해당 데이터베이스에서 작업할 수 있습니다.
연결할 USER
를 다음과 같이 지정하는 것과 함께 연결할 DATABASE
를 지정해야 할 수도 있습니다.
psql -U [user_name] -d [db_name]
Linux에서 PostgreSQL을 구성하는 다양한 방법
구성은 쉽고 효율적이어야 합니다. 때로는 PSQL
에 사용자로 연결을 시도하는 동안 항상 PATH
를 먼저 언급한 다음 연결을 형성해야 할 수 있습니다.
이것은 다음을 사용하여 간단하게 만들 수 있습니다.
export PATH=$PATH: [our_bin_directory_path]
이 BIN_DIRECTORY
는 대부분 var/lib/postgresql/..
또는 설치 시 생성되는 유사한 폴더입니다.
PATH
변수가 설정되면 SERVICE
가 작동하도록 초기화할 시간입니다. 대부분의 경우 이것은 자동이지만 안전을 위해 다음과 같이 할 수 있습니다.
//initialization
sudo service postgresql-[version_number] initdb
//starting
sudo service postgresql-[version_number] start
FEDORA
또는 YUM
시스템에서 명령은 다음과 같이 실행될 수 있습니다.
sudo systemctl start postgresql-[version_number]
sudo systemctl enable postgresql-[version_number]
Fedora 또는 다른 시스템에 PGADMIN
을 설치하여 삶을 더 쉽게 만들 수도 있습니다.
Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!
GitHub