posted by 귀염둥이채원 2018. 12. 28. 10:37

pgAdmin, DBeaver는 개발자 및 데이터베이스 관리자를위한 무료 오픈 소스 범용 데이터베이스 도구입니다.


pgAdmin은 Linux, Unix, Mac OS X 및 Windows에서 PostgreSQL 9.2 이상을 관리하는 데 사용할 수 있다.

PgAdmin 다운로드: https://www.pgadmin.org/download/




DBeaver 자바로 작성된 데스크톱 애플리케이션이며 이클립스 플랫폼에 기반을 둔다.

DBeaver는 크로스 플랫폼 도구로서 마이크로소프트 윈도우, 리눅스, macOSX, 솔라리스에서도 지원된다.


DBeaver는 Community Edition과 Enterprise Edition이 존재한다.

MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, MS Access, Teradata, Firebird, Derby 등 모든 인기있는 데이터베이스를 지원한다.

참고로 Enterprise Edition에서는 NoSQL도 지원한다고 한다.

DBeaver 다운로드: https://dbeaver.io/download/



Slant 사이트는 무엇인가 기술을 선택해야될 경우,

기술에 대해 비교하고 의견을 공유할수 있는 유용한 사이트인데요.


Slant 커뮤니티에서는 DBeaver, pgAdmin4를 비교할 때 대부분의 사람들이 DBeaver를 권장하네요^^

참고: https://www.slant.co/versus/198/208/~dbeaver_vs_pgadmin-4


'DB > postgres' 카테고리의 다른 글

PostgreSQL 백업 및 복원 하는 방법  (0) 2018.12.27
[PostgreSQL] psql 명령어 사용법 정리  (0) 2018.12.27
CentOS에 postgres 설치하기  (0) 2018.12.27
posted by 귀염둥이채원 2018. 12. 27. 17:12

PostgreSQL에서 SQL 덤프를 통한 백업으로 pg_dump 명령어를 제공합니다.

pg_dump 명령어를 통해 백업을 하면 텍스트 파일로 생성됩니다.


# =================================

# 샘플 테이블 스키마

# =================================

CREATE TABLE test_table (

  id SERIAL PRIMARY KEY,

  title TEXT

);


postgres=# INSERT INTO test_table values(1, 'test');


# =================================

# 특정 DB만 백업 및 복원하는 방법

# =================================

# 백업 : pg_dump -U {소유주} {DB명} > {백업파일명}

$ pg_dump -U postgres test_db > db_backup.sql


# test_db2 데이터베이스 생성

# CREATE DATABASE test_db2 OWNER test;


# 복원 : psql -U {소유주} {DB명} < {백업파일명}

$ psql -U postgres test_db2 < db_backup.sql


# =================================

# 특정 테이블만 백업 및 복원 하는 방법

# =================================

# 백업 : pg_dump -U {소유주} {DB명} -t {테이블명} > {백업파일명}

$ pg_dump -U postgres test_db -t test_table > db_backup.sql


# 복원 : psql -U {소유주}  -f {백업파일명} {DB명}

$ psql -U postgres -f db_backup.sql test_db2 

'DB > postgres' 카테고리의 다른 글

pgAdmin, DBeaver 무엇을 사용할까?  (0) 2018.12.28
[PostgreSQL] psql 명령어 사용법 정리  (0) 2018.12.27
CentOS에 postgres 설치하기  (0) 2018.12.27
posted by 귀염둥이채원 2018. 12. 27. 16:49

psql 명령어 사용법을 정리해 보겠습니다.


# ================================================

# psql 역슬래시 명령어

# ================================================

# psql 실행

=# help      // help 조회

=# \q       // psql 종료 (Ctrl+d)

=# \h       // DDL, DML 조회

=# \?       // help


 명령

설명 

 \l

 database 조회

 \d

 테이블, 인덱스, 시퀀스, 뷰 목록

 \d {table_name}

 특정 테이블 정보 보기

 \du

 롤(사용자) 목록

 \dn

 db schema 리스트 조회

 \dS

 시스템테이블 목록

 \dv

 뷰 목록

 \ds

 시퀀스 목록

 \dl 

 DB 목록

 \dn

 스키마 목록

 \db 

 테이블스페이스 목록 

 \c {db_name}

 다른 DB에 접속

 \c {db_name} {user_name}

 다른 DB에 지정된 사용자로 접속

 \x

 vertical print

 \!

 \!만 입력하면 Shell로 빠짐 (exit로 다시 원복)


# ================================================

# 계정 및 DB 생성

# ================================================

계정(test), 비밀번호(test), DB(test_db) 생성하기

postgres-# CREATE ROLE test LOGIN NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

postgres=# ALTER ROLE test WITH PASSWORD 'test';

postgres=# CREATE DATABASE "test_db" WITH OWNER = test ENCODING = 'UTF8' template = template0;


# ================================================

# 샘플 테이블 스키마

# ================================================

CREATE TABLE test_table (

  id SERIAL PRIMARY KEY,

  title TEXT

);


postgres=# INSERT INTO test_table values(1, 'test');

INSERT 0 1


postgres=# \d

                List of relations

 Schema |       Name        |   Type   |  Owner

--------+-------------------+----------+----------

 public | test_table        | table    | postgres

 public | test_table_id_seq | sequence | postgres

(2 rows)


postgres=# select * from test_table;

 id | title

----+-------

  1 | test


# ================================================

# psql 유용한 명령어

# ================================================

# 버전 표시

=# SELECT VERSION();


# postgres DB에 접속

=# psql -U username -d database


# 지정한 비밀번호로 접속 

ex) PGPASSWORD={PASSWORD} psql -U {USER}

=# PGPASSWORD=postgres psql -U postgres


# psql에서 query 실행

=# psql -U username -d database -c 'select * from test'


# psql에서 .sql 파일에 저장된 쿼리 실행

=# psql -U username -d database -a -f test.sql

=# psql -U username -d database < test.sql


# 원격 서버의 postgres 접속

=# psql -h 10.10.10.10 -U username -d database


# 참고 사이트

http://kb.globalsoft.co.kr/web/web_view.php?notice_no=245

http://blog.naver.com/PostView.nhn?blogId=alice_k106&logNo=220847310053

'DB > postgres' 카테고리의 다른 글

pgAdmin, DBeaver 무엇을 사용할까?  (0) 2018.12.28
PostgreSQL 백업 및 복원 하는 방법  (0) 2018.12.27
CentOS에 postgres 설치하기  (0) 2018.12.27
posted by 귀염둥이채원 2018. 12. 27. 15:53

도커 컨테이너 CentOS에서 postgres 10.6을 설치하는 방법입니다.


# ==========================================

# 컨테이너 기동

# ==========================================

-p 옵션을 사용하여 호스트와 컨테이너의 포트를 연결해준다.

(SQL 클라이언트이자 데이터베이스 관리 도구인 pgadmin, dbeaver를 통해 접근이 가능하다.)


$ docker run -dit \

--name centos7.4_postgres \

--privileged \

-e container=docker \

-v /sys/fs/cgroup:/sys/fs/cgroup:ro \

-p 5432:5432 \

centos:latest \

/usr/sbin/init


# ==========================================

# Postgres 설치

# ========================================== 

# CentOS 배포판 확인

아래 명령으로 postgresql 버전을 확인한다.

$ yum list | grep ^postgresql


# postgresql yum 저장소 업데이트

http://yum.postgresql.org/에 접속해서 버전 확인

https://download.postgresql.org/pub/repos/yum/에 접속해서 원하는 버전의 주소를 찾는다.

$ yum update

$ rpm -Uvh https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.4-x86_64/pgdg-centos10-10-2.noarch.rpm


# postgresql 설치

$ yum install -y postgresql10.x86_64 postgresql10-server.x86_64


# 설치 패키지 확인

아래 명령을 실행해서 설치되었는지 확인한다.

$ rpm -qa | grep post


# 계정 확인

아래 명령을 통해 postgres 계정이 생성되었는지 확인한다.

$ cat /etc/passwd


# ==========================================

# 초기화, 기동, 접속, 종료

# ==========================================

# 초기화

아래 며령을 수행해서 postgresql을 초기화한다.

$ /usr/pgsql-10/bin/postgresql-10-setup initdb


# postgresql 계정 패스워드 설정

$ passwd postgres


# postgresql 기동

$ su - postgres

$ /usr/pgsql-10/bin/pg_ctl start


# postgresql 접속

$ -bash-4.2$ psql          ---> password 필요 없음

psql (10.6)

Type "help" for help.

postgres=# select version();

 PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit

(1 row)


# postgresql 종료

$ su - postgres

$ /usr/pgsql-10/bin/pg_ctl stop


# ==========================================

# 관리자 비밀번호 설정

# ==========================================

postgres=# \password postgres

Enter new password:

Enter it again:


# ==========================================

# 로컬 서버에서 암호를 이용한 접속으로 변경

# ==========================================

$ vi /var/lib/pgsql/10/data/pg_hba.conf

#local   all             all                                     peer  --> 암호 X

local   all             all                                     md5    --> 암호 O


# ==========================================

# Remote에서 접근 가능하도록 설정

# ==========================================

$ vi /var/lib/pgsql/10/data/pg_hba.conf

# IPv4 local connections:

host    all             all             0.0.0.0/0            trust        <-- 추가 (암호 X)

host    all             all             0.0.0.0/0            md5        <-- 추가 (암호 O)


$ vi /var/lib/pgsql/10/data/postgresql.conf

#listen_addresses = 'localhost'         # what IP address(es) to listen on;

listen_addresses = '*'          # what IP address(es) to listen on;

'DB > postgres' 카테고리의 다른 글

pgAdmin, DBeaver 무엇을 사용할까?  (0) 2018.12.28
PostgreSQL 백업 및 복원 하는 방법  (0) 2018.12.27
[PostgreSQL] psql 명령어 사용법 정리  (0) 2018.12.27