LoginSignup
1
0

More than 5 years have passed since last update.

CentOSにPostgreSQLをインストールする

Last updated at Posted at 2018-04-12
[root@ik1-321-20522 home]# tail -5 /etc/passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sato:x:1000:1000::/home/sato:/bin/bash
# yum -y install postgresql-server
これすると自動にユーザーが追加

root@ik1-321-20522 home]# tail -5 /etc/passwd
ntp:x:38:38::/etc/ntp:/sbin/nologin
chrony:x:995:993::/var/lib/chrony:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sato:x:1000:1000::/home/sato:/bin/bash
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
[root@ik1-321-20522 home]# su postgres

bash-4.2$ whoami
postgres

bash-4.2$ cd /var/lib/pgsql/data/
bash-4.2$ ls -l
total 0

bash-4.2$ postgresql-setup initdb
Initializing database ... OK

bash-4.2$ ls -l
total 40
-rw------- 1 postgres postgres     4 Apr 12 13:19 PG_VERSION
drwx------ 5 postgres postgres    38 Apr 12 13:19 base
drwx------ 2 postgres postgres  4096 Apr 12 13:19 global
drwx------ 2 postgres postgres    17 Apr 12 13:19 pg_clog
-rw------- 1 postgres postgres  4232 Apr 12 13:19 pg_hba.conf
-rw------- 1 postgres postgres  1636 Apr 12 13:19 pg_ident.conf
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_log
drwx------ 4 postgres postgres    34 Apr 12 13:19 pg_multixact
drwx------ 2 postgres postgres    17 Apr 12 13:19 pg_notify
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_serial
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_snapshots
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_stat_tmp
drwx------ 2 postgres postgres    17 Apr 12 13:19 pg_subtrans
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_tblspc
drwx------ 2 postgres postgres     6 Apr 12 13:19 pg_twophase
drwx------ 3 postgres postgres    58 Apr 12 13:19 pg_xlog
-rw------- 1 postgres postgres 19809 Apr 12 13:19 postgresql.conf
bash-4.2$ cp postgresql.conf postgresql.conf.org
bash-4.2$ echo "listen_addresses = '*'" >> /var/lib/pgsql/data/postgresql.conf

bash-4.2$ ls -l
total 28
-rw------- 1 postgres postgres    4 Apr 12 13:19 PG_VERSION
drwx------ 5 postgres postgres   38 Apr 12 13:19 base
drwx------ 2 postgres postgres 4096 Apr 12 13:19 global
drwx------ 2 postgres postgres   17 Apr 12 13:19 pg_clog
-rw------- 1 postgres postgres 4232 Apr 12 13:19 pg_hba.conf
-rw------- 1 postgres postgres 1636 Apr 12 13:19 pg_ident.conf
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_log
drwx------ 4 postgres postgres   34 Apr 12 13:19 pg_multixact
drwx------ 2 postgres postgres   17 Apr 12 13:19 pg_notify
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_serial
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_snapshots
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_stat_tmp
drwx------ 2 postgres postgres   17 Apr 12 13:19 pg_subtrans
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_tblspc
drwx------ 2 postgres postgres    6 Apr 12 13:19 pg_twophase
drwx------ 3 postgres postgres   58 Apr 12 13:19 pg_xlog
-rw-r--r-- 1 postgres postgres   46 Apr 12 13:23 postgresql.conf
-rw-r--r-- 1 postgres postgres   23 Apr 12 13:23 postgresql.conf.org

bash-4.2$ cp pg_hba.conf pg_hba.conf.org

bash-4.2$ echo "# PostgreSQL Client Authentication Configuration File" >  ./pg_hba.conf
bash-4.2$ echo "# ===================================================" >> ./pg_hba.conf
bash-4.2$ echo "local all all              trust"                      >> ./pg_hba.conf
bash-4.2$ echo "host  all all 127.0.0.1/32 trust"                      >> ./pg_hba.conf
bash-4.2$ echo "host  all all ::1/128      trust"                      >> ./pg_hba.conf

bash-4.2$ $ exit
# service postgresql restart
これでPostgreSQLの起動が完了
PostgreSQLにログイン
[root@ik1-321-20522 home]# psql -U postgres
psql (9.2.23)
Type "help" for help.

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

postgres-# \q

新規にデータベースを作る
postgres=# create database sales;
CREATE DATABASE

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

create table userlist(
    id int,
    name varchar(20),
    address varchar(30),
    age int
    );
CREATE TABLE

postgres=# select * from userlist ;
 id | name | address | age
----+------+---------+-----
(0 rows)

postgres=# insert into userlist values(1,'sato','tokyo',18);
INSERT 0 1
postgres=# insert into userlist values(2,'nao','kyoto',22);
INSERT 0 1
postgres=# insert into userlist values(3,'john','newyork',34);
INSERT 0 1
postgres=# insert into userlist values(4,'lisa','paris',24);
INSERT 0 1
postgres=# insert into userlist values(5,'kaoru','nagoya',15);
INSERT 0 1
postgres=# insert into userlist values(6,'ryo','fuhuoka',40);
INSERT 0 1

postgres=# select * from userlist ;
 id | name  | address | age
----+-------+---------+-----
  1 | sato  | tokyo   |  18
  2 | nao   | kyoto   |  22
  3 | john  | newyork |  34
  4 | lisa  | paris   |  24
  5 | kaoru | nagoya  |  15
  6 | ryo   | fuhuoka |  40
(6 rows)

postgres=# select name,address from userlist ;
 name  | address
-------+---------
 sato  | tokyo
 nao   | kyoto
 john  | newyork
 lisa  | paris
 kaoru | nagoya
 ryo   | fuhuoka
(6 rows)

postgres=# select * from userlist where age >= 20 ;
 id | name | address | age
----+------+---------+-----
  2 | nao  | kyoto   |  22
  3 | john | newyork |  34
  4 | lisa | paris   |  24
  6 | ryo  | fuhuoka |  40
(4 rows)

postgres=# select * from userlist where age between 20 and 25 ;
 id | name | address | age
----+------+---------+-----
  2 | nao  | kyoto   |  22
  4 | lisa | paris   |  24
(2 rows)

postgres=# select avg(age) from userlist ;
         avg
---------------------
 25.5000000000000000
(1 row)

postgres=# select sum(age) from userlist ;
 sum
-----
 153
(1 row)

postgres=# select avg(age) from userlist where age >= 20 ;
         avg
---------------------
 30.0000000000000000
(1 row)

postgres=# select sum(age) from userlist where age >=20 ;
 sum
-----
 120
(1 row)

postgres=# select * from userlist order by age ;
 id | name  | address | age
----+-------+---------+-----
  5 | kaoru | nagoya  |  15
  5 | kaoru | nagoya  |  15
  1 | sato  | tokyo   |  18
  2 | nao   | kyoto   |  22
  4 | lisa  | paris   |  24
  3 | john  | newyork |  34
  6 | ryo   | fuhuoka |  40
(7 rows)

postgres=# select * from userlist order by age desc ;
 id | name  | address | age
----+-------+---------+-----
  6 | ryo   | fuhuoka |  40
  3 | john  | newyork |  34
  4 | lisa  | paris   |  24
  2 | nao   | kyoto   |  22
  1 | sato  | tokyo   |  18
  5 | kaoru | nagoya  |  15
  5 | kaoru | nagoya  |  15
(7 rows)
postgres=# drop table userlist;
DROP TABLE

postgres=# drop database sales;drop database sales;
DROP DATABASE
[root@ik1-321-20522 etc]# alias lld='ls l|grep ^d'

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0