import java.sql.DriverManager;

import java.sql.Connection;

import java.sql.SQLException;


public class Example1 {

  public static void main(String[] argv) {

  System.out.println("Checking if Driver is registered with DriverManager.");


  try {

    Class.forName("org.postgresql.Driver");

  } catch (ClassNotFoundException cnfe) {

    System.out.println("Couldn't find the driver!");

    System.out.println("Let's print a stack trace, and exit.");

    cnfe.printStackTrace();

    System.exit(1);

  }


  System.out.println("Registered the driver ok, so let's make a connection.");


  Connection c = null;


  try {

    // The second and third arguments are the username and password,

    // respectively. They should be whatever is necessary to connect

    // to the database.

    c = DriverManager.getConnection("jdbc:postgresql://localhost/DBname",

                                    "DBuser", "DBpassword");

  } catch (SQLException se) {

    System.out.println("Couldn't connect: print out a stack trace and exit.");

    se.printStackTrace();

    System.exit(1);

  }


  if (c != null)

    System.out.println("Hooray! We connected to the database!");

  else

    System.out.println("We should never get here.");

  }

}

신고

postgres@ubuntu:~$ createuser -P -s -e test


새 롤의 암호:

암호 확인:

CREATE ROLE test PASSWORD 'md5f3084041c7669071a1dc54c05d3658cd' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;

신고

* No PostgreSQL clusters exist; see "man pg_createcluster"


locale 확인

 sudo dpkg-reconfigure locales


After

pg_createcluster 9.X main --start


신고

taiga@ubuntu:~$ psql -U testUser -W testDB -h localhost


psql: FATAL:  Peer authentication failed for user


옵션에 -h localhost를 붙여준다.

신고

#DB 생성

create database testDB with encoding 'unicode' LC_COLLATE 'C' LC_CTYPE 'C' template template0;


#DB Owner 변경

alter database testDB owner to testUser;

신고

taiga=# \du

                             List of roles

 Role name |                   Attributes                   | Member of

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

 postgres  | Superuser, Create role, Create DB, Replication | {}

 taiga     | Superuser, Create role, Create DB              | {}

신고

'Database > PostgreSQL' 카테고리의 다른 글

psql: FATAL: Peer authentication failed for user  (0) 2016.06.27
create database in postgresql  (0) 2016.06.27
postgresql user list  (0) 2016.06.27
PostgreSQL - Ubuntu Basic 설치 가정  (1) 2014.09.02
PostgreSQL Table 전체 조회  (0) 2013.03.25
PostgreSQL  (0) 2013.01.29

Ubuntu에서 PostgreSQL 기본 설치 및 동작


Ubuntu Server를 설치할 때 여러 패키지를 설치할지 유무를 물어본다

보기에 PostgreSQL도 있으니 Check를 하면 관련 라이브러리와 함께 PostgreSQL이 설치된다.

qa@qa-ubuntu:~$ sudo -i -u postgres

위의 명령어를 실행하면 postgres 계정으로 접속이 된다.

$ postgres@qa-ubuntu:~$ psql

psql (9.3.4)

Type "help" for help.

postgres=#

위의 명령어를 실행하면 postgresql DB로 접속이 된다. DB 밖으로 빠져나가고 싶을 때에는 다음의 명령어를 실행하면 된다.

 postgres=# \q


PostgreSQL User 생성

 - yogiyo라는 User를 생성한다.

postgres@qa-ubuntu:~$ createuser yogiyo --interactive

Shall the new role be a superuser? (y/n) y


PostgreSQL Database 생성


- yogiyodb라는 DB를 생성한다.

 postgres@qa-ubuntu:~$ createdb yogiyodb



Trouble Shooting

postgres=# \q

could not save history to file "/var/lib/postgresql/.psql_history": No such file or directory

- 아직까진 특별한 Issue가 없다고 그냥 넘어가라고 함


참고

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04


신고

'Database > PostgreSQL' 카테고리의 다른 글

psql: FATAL: Peer authentication failed for user  (0) 2016.06.27
create database in postgresql  (0) 2016.06.27
postgresql user list  (0) 2016.06.27
PostgreSQL - Ubuntu Basic 설치 가정  (1) 2014.09.02
PostgreSQL Table 전체 조회  (0) 2013.03.25
PostgreSQL  (0) 2013.01.29
  1. yckim 2015.07.16 15:14 신고

    안녕하세요. ㈜오픈데이터 입니다.

    PostgreSQL에 대해 관심이 많으신 것 같아서 댓글 남깁니다.



    저희는 국내 최초의 오픈소스 DBMS인 Agens SQL, Agens Graph 제품의 공급 및 서비스를 제공하는 회사 입니다.

    Agens SQL은 PostgreSQL과 그 확장 모듈에 대한 국내 최초의 통합 데이터베이스 패키지입니다.



    오픈소스 기반으로 라이센스 및 서브스크립션 비용 없이 무료로 사용하실 수 있으며, 인력투입에 따른 기술지원 비용만 발생합니다.



    제품 및 기술지원에 대한 문의 사항은 홈페이지(www.open-data.co.kr) 통해 연락주시기 바랍니다. 감사합니다.





    광고성 댓글로 판단되시면, 삭제하셔도 무방합니다.

select * from pg_tables;

신고

'Database > PostgreSQL' 카테고리의 다른 글

psql: FATAL: Peer authentication failed for user  (0) 2016.06.27
create database in postgresql  (0) 2016.06.27
postgresql user list  (0) 2016.06.27
PostgreSQL - Ubuntu Basic 설치 가정  (1) 2014.09.02
PostgreSQL Table 전체 조회  (0) 2013.03.25
PostgreSQL  (0) 2013.01.29

Installation

Linux Library 확인

아래 lib가 없으면 yum install로 모두 설치한다. readline
readline-devel
ncurses
ncurses-devel
zlib
zlib-devel
make
gcc

최신 버전 Download

http://www.postgres.org

압축 풀기

$ tar zxvf postgresql-9.2.2.tar.gz

설치

$ cd postgresql-9.2.2
$ ls
OPYRIGHT GNUmakefile.in HISTORY INSTALL Makefile README aclocal.m4 config configure configure.in contrib doc src
$ ./configure --prefix=/mnt/postsql
$ make && make install
...
...
PostgreSQL installation complete.

사용자 추가

$ useradd -d /home/ndap ndap
$ mkdir /mnt/postsql/data
$ chown -R ndap:ndap /mnt/postsql

환경설정

$ su - ndap
$ vi ~/.bash_profile
PGDATA=/mnt/postsql/data
PGLIB=/mnt/postsql/lib
MANPATH=$MANPATH:/mnt/postsql/man
PATH=$PATH:/mnt/postsql/bin
export PGDATA PGLIB MANPATH PATH

실행

$ initdb -D /mnt/postsql/data
Success. You can now start the database server using:
postgres -D /mnt/postsql/data
or
$ pg_ctl -D /mnt/postsql/data/ -l logfile start
server starting

만약 실행 중 "pg_ctl: error while loading shared libraries: libpq.so.5: cannot open shared object file: No such file or directory" Error가 발생한다면 다음과 같이 한다

$ su - root
$ ldconfig /mnt/postsql/lib/

동작 확인

# create database & table
$ createdb ndap
$ psql ndap
psql (9.2.2)
Type "help" for help.
ndap=# create table ndap(id varchar(20));
CREATE TABLE
ndap=# insert into ndap values ('hellodb');
INSERT 0 1
ndap=# select * from ndap;
id
---------
hellodb
(1 row)
ndap=# \q
# drop database
$ dropdb ndap

외부 접근 설정

아래의 Code를 추가및 수정을 한다.

  • $ vi /mnt/postsql/data/pg_hba.conf
    -----------------------------------------------
    host all all 0.0.0.0/0 trust # 추가

$ vi /mnt/postsql/data/postgresql.conf
-----------------------------------------------
listen_addresses = '*' # 수정
port = 5432 # 수정
max_connections = 100 # 수정

Code를 수정한 뒤, PostgreSQL을 Restart한다.

$ pg_ctl -D /mnt/postsql/data/ -l logfile restart

 

 

 

신고

'Database > PostgreSQL' 카테고리의 다른 글

psql: FATAL: Peer authentication failed for user  (0) 2016.06.27
create database in postgresql  (0) 2016.06.27
postgresql user list  (0) 2016.06.27
PostgreSQL - Ubuntu Basic 설치 가정  (1) 2014.09.02
PostgreSQL Table 전체 조회  (0) 2013.03.25
PostgreSQL  (0) 2013.01.29

+ Recent posts