티스토리 뷰

카테고리 없음

Centos Postgresql 설치하는 방법

미니대왕님 2024. 1. 25. 09:09

Centos Postgresql 설치하는 방법

CentOS 운영 체제에서 PostgreSQL을 설치하려면 다음 단계를 따르세요:

  1. PostgreSQL 저장소 추가하기:
    • 먼저, PostgreSQL 공식 저장소를 시스템에 추가해야 합니다. 저장소 파일을 다운로드하고 설치하려면 다음 명령을 실행하세요.
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

PostgreSQL 설치하기:

  • 저장소가 추가되면, yum을 사용하여 PostgreSQL 패키지를 설치할 수 있습니다. 아래 명령을 사용하여 PostgreSQL을 설치하세요.

sudo yum install -y postgresql15-server

 

위의 예제에서는 PostgreSQL 13 버전을 설치합니다. 필요한 버전에 따라 postgresql13-server 부분을 수정하십시오.

  1. PostgreSQL 데이터베이스 초기화하기:
  2. 설치가 완료되면, PostgreSQL 데이터베이스를 초기화해야 합니다. 다음 명령을 사용하여 데이터베이스를 초기화합니다.

아래 파일중에  postgresql-15-setup 파일이 있는지 확인합니다.

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
    • PostgreSQL 15 버전을 설치한 경우 위와 같은 명령을 사용합니다. 다른 버전의 경우, 경로 및 파일명을 해당 버전에 맞게 수정하십시오.
  1. PostgreSQL 서비스 시작 및 활성화:
    • PostgreSQL 서비스를 시작하고, 시스템 부팅 시 자동으로 시작되도록 설정하려면 다음 명령을 실행하세요.
sudo systemctl start postgresql-15
sudo systemctl
enable postgresql-15

방화벽 설정 (선택 사항):

  • PostgreSQL을 원격으로 액세스하려면 방화벽에 포트를 열어야 합니다. 기본적으로 PostgreSQL은 5432 포트를 사용합니다. 다음 명령을 사용하여 방화벽에서 포트를 엽니다.
#sudo firewall-cmd --add-port=5432/tcp --permanent
#sudo firewall-cmd --reload

이제 CentOS 시스템에 PostgreSQL이 설치되었습니다.
추가 구성이 필요한 경우, 설정 파일을 /var/lib/pgsql/13/data 디렉토리에서 찾을 수 있습니다.
필요한 경우 pg_hba.conf 및 postgresql.conf 파일을 수정하여 원격 액세스 및 인증 방법을 구성하세요.

 

 

 

PostgreSQL 데이터베이스에 연결하기

다른 데이터베이스로 연결 전환

사용 가능한 데이터 베이스 목록

접속한 사용자가 사용 가능한 테이블 목록

테이블의 자세한 정보확인

사용 가능한 스키마 목록

사용 가능한 Function 목록

사용 가능한 뷰 표시

사용자 및 Role 표시

이전 명령 실행

데이터 베이스 버전 확인

과거 수행한 SQL 목록 확인하기

파일로부터 psql 커맨드 실행

psql 명령에 대한 도움말보기

쿼리 실행 시간 켜기

컬럼 단위로 보기

SQL 수행시간 확인 하기

편집기에서 실행 SQL편집 명령 (Linux/Unix/Windows 계열)

출력 형식 옵션

psql 종료

 

목적 :이 튜토리얼에서는 CLI 환경에서 Oracle에 유용한 sqlplus가 존재하듯 PostgreSQL 데이터베이스 서버의 데이터를 더 빠르고 효과적으로 질의하는데 도움이 되는 psql명령에서 일반적이고 자주 사용 될만한 명령 및 옵션의 설명을 작성합니다.

 

 

PostgreSQL 데이터베이스에 연결하기

다음 명령은 특정 사용자의 데이터베이스에 연결합니다. 누르면 Enter PostgreSQL은 사용자의 암호를 묻습니다.

 

psql –d [database_name]-u [user_name] -w [password]
psql –d keycloak -u keycloak -w keycloak

 

예를 들어 postgres 사용자가 company 란 데이터베이스에 연결 하려면 다음 명령을 사용합니다.

psql –d company -u postgres -w postgres
Password for user postgres:
postgres=#

로컬이 아닌 원격지에 다른 호스트 데이터베이스에 연결하려면 다음과 같이 -h 옵션을 추가하십시오.

psql -h 10.1.0.120 –d company -u postgres -w postgres

 

연결에 SSL 모드를 사용하려면 다음 명령과 같이 명령에 SSL 모드를 지정 합니다.

psql -h host "dbname=db sslmode=require" -u postgres -w [password]

 

다른 데이터베이스로 연결 전환

데이터베이스에 연결되면에 의해 지정된 사용자의 연결을 새 데이터베이스로 전환 할 수 있습니다 user. 이전 연결이 닫힙니다. user매개 변수 를 생략하면 현재 user값으로 간주합니다.

postgres=# \c [dbname] [username]

다음 명령은 사용자의 company데이터베이스에 연결합니다 postgres.

postgres=# \c [database_name]
postgres=# \c company
You are now connected to database "company" as user "postgres".
company=#

 

사용 가능한 데이터 베이스 목록

현재 PostgreSQL 데이터베이스 서버의 모든 데이터베이스를 확인하려면 \l명령 을 사용 합니다.

postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
company | postgres | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)

 

접속한 사용자가 사용 가능한 테이블 목록

현재 데이터베이스의 모든 테이블을 나열하려면 다음 \dt명령 을 사용 합니다.

 

postgres=# \dt
List of relations
Schema | Name | Type | Owner
--------+------+-------+----------
public | t1 | table | postgres
(1 row)

 

이 명령은 현재 연결된 데이터베이스의 테이블 만 표시합니다.

 

테이블의 자세한 정보확인

열, 유형, 열 수정 자 등과 같은 표를 설명하려면 다음 명령을 사용 합니다.

postgres=# \d [table_name]

postgres=# \d t1;
Table "public.t1"
Column | Type | Modifiers
--------+---------+-----------
c1 | integer |

 

사용 가능한 스키마 목록

현재 연결된 데이터베이스의 모든 스키마를 나열하려면이 \dn명령을 사용 합니다.

postgres=# \dn
List of schemas
Name | Owner
--------------+----------
public | postgres
utl_file | postgres
(16 rows)

 

 

 

 

 

사용 가능한 Function 목록

현재 데이터베이스에서 사용 가능한 function을 나열하려면이 \df명령 을 사용 합니다.

\df
postgres=# \df
함수 목록
스키마 | 이름 | 반환 자료형 | 인자 자료형 | 종류
--------+--------------------------+-------------+-------------------------+------
public | oracle_close_connections | void | | 일반
public | oracle_diag | text | name DEFAULT NULL::name | 일반
public | oracle_fdw_handler | fdw_handler | | 일반
public | oracle_fdw_validator | void | text[], oid | 일반
(4개 행)

사용 가능한 뷰 표시

현재 데이터베이스에서 사용 가능한보기를 나열하려면 \dv명령 을 사용 합니다.

 

postgres=# \dv
List of relations
Schema | Name | Type | Owner
--------+------+------+----------
public | dual | view | postgres
(1 row)

 

사용자 및 Role 표시

모든 사용자와 할당 역할을 나열하려면 다음 \du명령 을 사용 합니다.

postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

 

이전 명령 실행

이전 명령을 재실행하고자 하는 경우 다음 \g명령 을 사용 합니다.

postgres=# select * from dual;
dummy
-------
X
(1 row)

postgres=# \g
dummy
-------
X
(1 row)

 

 

데이터 베이스 버전 확인

PostgreSQL 서버의 현재 버전을 검색하려면 version()다음과 같이 함수 를 사용 합니다.

postgres=# SELECT version();
version
----------------------------------------------------------------------------------------------------------
PostgreSQL 9.5.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.4 20100726 (Red Hat 4.4.4-13), 64-bit
(1 row)

 

과거 수행한 SQL 목록 확인하기

명령 히스토리를 표시하려면 명령을 사용 합니다. \s.

\s

 

명령 내역을 파일에 저장하려면 \s다음과 같이 명령 뒤에 파일 이름을 지정 합니다.

\s [filename]

.

파일로부터 psql 커맨드 실행

파일에서 psql 명령을 실행하려면 \i다음과 같이 command 를 사용 합니다..

\i [filename]

 

psql 명령에 대한 도움말보기

사용 가능한 모든 psql 명령을 알기 위해서는 이 명령을 사용하십시오 \?.

\?

 

특정 PostgreSQL 문에 대한 도움말을 보려면 \h명령 을 사용 하십시오 .

예를 들어, ALTER TABLE 문 에 대한 자세한 정보를 알고 싶다면 다음 명령을 사용하십시오.

\h alter table
postgres=# \h alter table
Command: ALTER TABLE
Description: change the definition of a table
Syntax:
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
RENAME [ COLUMN ] column_name TO new_column_name
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
…생략


쿼리 실행 시간 켜기

쿼리 실행 시간을 설정하려면 \timing명령 을 사용 합니다 .

postgres=# \timing
Timing is on.
postgres=# select * from dual;
dummy
-------
X
(1 row)

Time: 0.436 ms

 

컬럼 단위로 보기

각각의 row를 단위(vertical)로 보는 것을 설정하려면 \x명령을 사용합니다. 해제 시에도 동일하게 명령을 사용합니다.

postgres=# \x
Expanded display is on.
postgres=# select * from dual;
-[ RECORD 1 ]
dummy | X

Time: 0.622 ms

 

SQL 수행시간 확인 하기

-[ RECORD 1 ]
dummy | X
Time: 0.399 ms

 

편집기에서 실행 SQL편집 명령 (Linux/Unix/Windows 계열)

실행한 SQL이 수정이 필요한 경우 psql에서 \e명령 을 내리 십시오 .

명령을 내린 후 psql은 EDITOR 환경 변수로 정의 된 텍스트 편집기를 열고 psql에 입력 한 가장 최근의 명령을 편집기에 넣습니다.

GNU 리눅스/UNIX 기반에서는 자동적으로 VI 에디터를 호출하며 Windows 환경에서는 환경변수로 메모장(notepad)를 호출하여 수정 가능합니다.

\e

편집기에 명령을 입력하고 저장 한 편집기를 닫으면 psql이 명령을 실행하고 결과를 반환합니다.

편집기에서 사용자 function를 편집 할 경우 유용 합니다.

\ef [function_name]

 

 

출력 형식 옵션

psql는 몇 가지 유형의 출력 형식을 지원하며 사용자가 출력 형식을 사용자 정의 할 수 있습니다.

· \a 명령은 정렬 된 열에서 정렬되지 않은 열 출력으로 전환합니다.

· \H 명령은 출력을 HTML 형식으로 형식화합니다.

psql을 종료하십시오.

psql 종료

psql을 종료하려면 \q command 를 사용 하고 enter를 눌러 psql을 종료하십시오.

 

postgres=# \q
[postgres@fujitsu01 ~]$

 

[출처] PSQL 사용법 안내|작성자 DB장이

댓글