Ubuntu에서 최신 PostgreSQL 버전을 설치, 구성 및 사용하는 방법
이 페이지에서
- PostgreSQL 설치:
- Ubuntu 버전 선택
- PostgreSQL 서비스 상태 확인\n
Postgres는 오픈 소스 관계형 데이터베이스입니다. Postgres는 엔터프라이즈급 성능, 트리거, 원자성, 일관성, 격리, 내구성과 같은 많은 고급 기능과 Postgres를 많은 복잡한 애플리케이션에 적합한 선택으로 만드는 기타 여러 기능을 갖추고 있습니다.
PostgreSQL 설치:
이 튜토리얼에서는 공식 PostgreSQL 웹사이트 https://www.postgresql.org/download/linux/ubuntu/에서 최신 버전의 Postgres를 다운로드합니다.
PostgreSQL은 기본적으로 Ubuntus 저장소에서도 사용할 수 있습니다. 공식 사이트에서 PostgreSQL apt 저장소를 사용하면 선택한 특정 버전을 설치할 수 있습니다.
우분투 버전을 선택하십시오
내 Ubuntu 버전은 Bionic(18.04)입니다.
PostgreSQL 저장소 파일을 만듭니다.
nano /etc/apt/sources.list.d/pgdg.list
pgdg.list에 저장소 행을 추가합니다.
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
18.04(Bionic)와 다른 Ubuntu 버전을 사용하는 경우 bionic이라는 단어를 사용된 Ubuntu 버전의 이름으로 바꿉니다. 저장소 서명 키 가져오기 및 패키지 목록 업데이트
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
이제 다음 명령을 사용하여 Ubuntu 시스템에 최신 PostgreSQL 서버를 설치합니다.
sudo apt-get install postgresql postgresql-contrib
설치 후 PostgreSQL 서버가 자동으로 시작됩니다.
PostgreSQL 서비스 상태 확인
systemctl status postgresql
이제 PostgreSQL 연결 및 PostgreSQL 서버 버전을 확인하세요.
sudo -u postgres psql -c "SELECT version();"
psql을 사용하여 PostgreSQL에 연결하고 서버 버전을 제공합니다.
version
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bitPostgreSQL 역할 및 인증 방법 사용
PostgreSQL은 데이터베이스 액세스 권한의 역할 개념을 사용합니다. 역할은 데이터베이스 사용자 또는 데이터베이스 사용자 그룹에 적용될 수 있습니다.
PostgreSQL은 여러 인증 방법을 지원합니다.
다음은 PostgreSQL에서 가장 일반적으로 사용되는 인증 방법입니다.
1.신뢰
트러스트 인증 방법은 pg_hba.conf에서 정의할 수 있으며 이 방법을 사용하면 암호 없이 역할이 데이터베이스에 연결할 수 있습니다.
2.비밀번호
역할은 암호를 증명하여 데이터베이스에 연결할 수 있습니다.
3.아이덴트
ID 인증 방법은 TCP/IP 연결에서만 작동합니다.
4. 피어
로컬 연결에만 사용되는 피어 인증 방법.
pg_hba.conf 파일은 클라이언트 인증 방법을 정의합니다. 다음 파일을 편집하여 인증 방법을 변경할 수 있습니다.
nano /etc/postgresql/11/main/pg_hba.conf
이 파일에서 PostgreSQL은 기본적으로 피어 인증 방법을 사용합니다. 피어를 다른 방법으로 변경하여 인증 방법을 변경할 수 있습니다.
PostgreSQL 설치 시 기본적으로 postgres 사용자가 생성되며 postgres는 MYSQL 데이터베이스 서버의 루트 사용자와 마찬가지로 PostgreSQL 데이터베이스의 수퍼유저입니다. 이 postgres 사용자는 우분투에서도 생성합니다.
PostgreSQL에 연결
PostgreSQL과 연결하기 위한 다음 명령입니다.
sudo -i -u postgres
이제 다음 명령을 입력하여 MySQL과 같은 Postgres 프롬프트에 연결할 수 있습니다.
psql
다음 프롬프트가 표시되면 PostgreSQL 쿼리를 실행할 준비가 된 것입니다.
다음 명령을 입력하기만 하면 데이터베이스 서버에 직접 연결할 수 있습니다.
sudo -u postgres psql
PostgreSQL에서 역할 및 데이터베이스 생성
데이터베이스에 이미 postgres 역할이 있으므로 다음 명령을 사용하여 새 역할을 만듭니다.
:/home# sudo -u postgres createuser --interactive
Enter name of role to add: sohan
Shall the new role be a superuser? (y/n) y다음 명령을 사용하여 기존 사용자 역할을 나열할 수 있습니다.
postgres=# \du
또는 postgres 프롬프트에서 다음 명령을 실행하십시오.
SELECT rolname FROM pg_roles;
DROP ROLE 명령을 사용하여 기존 사용자 역할을 삭제할 수 있습니다.
postgres=# DROP ROLE sohan;
DROP ROLEPostgreSQL 데이터베이스 생성
여기에서 postgres 계정으로 로그인하고 다음 명령을 실행할 수 있습니다.
:~$ createdb dummu
또는 일반 우분투 사용자와 함께 다음 명령을 간단히 실행할 수 있습니다.
sudo -u postgres createdb dummu
새 역할을 사용하여 postgres 프롬프트에 로그인
시스템 터미널에서 직접 실행하여 새 사용자를 만듭니다.
sudo adduser sohan
시스템에서 새 사용자를 생성한 후 다음을 실행하십시오.
sudo -u sohan psql
또는 다음 명령을 입력하십시오
sudo -i -u sohan
psql다음과 같이 단순히 데이터베이스 이름을 제공하여 다른 데이터베이스에 연결할 수 있습니다.
psql -d dummu
위의 데이터베이스에 연결한 후 간단한 명령으로 해당 데이터베이스 정보를 얻을 수 있습니다.
dummu=> \conninfo
output
You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';PostgreSQL에서 테이블 생성
역할, 데이터베이스를 생성하고 데이터베이스 서버와의 연결을 생성한 후 이제 테이블을 생성합니다.
CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);
위의 명령은 MySQL과 마찬가지로 새 테이블 더미를 생성합니다. 입력하여 이 새 테이블을 확인할 수 있습니다.
\d
여기에서 시퀀스의 다음 번호를 추적하는 dummu_user_id_seq 테이블도 볼 수 있습니다.
시퀀스 없이 테이블 이름만 표시하려면 다음 명령을 실행하십시오.
\dt
이렇게 하면 dummu 테이블만 표시됩니다.
sohan=> \dt
Output
List of relations
Schema | Na | Type | Owner
--------+------------+-------+-------
public | dummu | table | soha테이블에 데이터 추가
이제 다음을 입력하여 dummu 테이블에 데이터를 추가합니다.
Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','gmail.com','2019-06-24 11:11:11','2019-06-24 11:11:11');
이제 dummu 테이블에서 데이터를 가져올 것입니다.
SELECT * FROM dummu;
테이블에서 열 삭제
이제 이 테이블에서 데이터를 삭제할 수 있습니다.
DELETE FROM dummu WHERE email = '';
PostgreSQL 테이블 변경
비슷한 방법으로 다음과 같이 alter query를 사용하여 테이블을 수정할 수 있습니다.
ALTER TABLE dummu DROP email;
이렇게 하면 dummu 테이블에서 이메일 필드가 제거됩니다.
그것을 확인
SELECT * FROM dummu;
output:-
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | 123456 | 2019-06-24 11:11:11 | 2019-06-24 11:11:11테이블의 데이터 업데이트
이제 데이터를 테이블로 업데이트하는 방법을 살펴보겠습니다.
dummu 테이블에 암호를 업데이트하려면 다음 명령을 실행하십시오.
UPDATE dummu SET password = 'postgres' where username = 'sohan';
간단히 입력하여 변경 사항 확인
SELECT * FROM dummu;
output
user_id | username | password | created_on | last_login
---------+----------+----------+---------------------+---------------------
1 | sohan | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11요컨대, 이 자습서에서는 PostgreSQL 설치 방법, 역할 및 데이터베이스 생성 및 기본 데이터베이스 명령을 배웁니다.