2017年06月02日

PostgreSQL10-beta ソースからコンパイルしてインストールする CentOS7.3 (途中)

CentOS 7.3.1611 (64bit)

1. Firewall 5432 port をopen

firewall-cmd --add-port=5432/tcp --zone=public --permanent
firewall-cmd --reload              //firewalldのリロード

******CentOS6は
******vi /etc/sysconfig/iptables
******-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
******/etc/init.d/iptables restart


2.
yum -y install gcc
yum -y install readline
yum -y install readline-devel
yum -y install zlib
yum -y install zlib-devel

3.
useradd postgres
passwd postgres


4.
chown -R postgres:postgres /home/postgres
chmod -R 700 /home/postgres
ls -ld  /home/postgres


5.

6.
ls
tar zxvf postgresql-10beta1.tar.gz
ls -d postgresql-10beta1

7.
mkdir /opt/postgresql10b1

8.
cd /usr/local/src/postgresql-10beta1
./configure --prefix=/opt/postgresql10b1


9.
make

10.
make install

11.
ls -l /opt/postgresql10b1

12.
chown -R postgres:postgres /opt/postgresql10b1
ls -l /opt/postgresql10b1

13.
vi /home/postgres/.bash_profile


15.
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
-------------------------------------------------------------------------------追記
POSTGRES_HOME=/opt/postgresql10b1

PGBIN=$POSTGRES_HOME/bin

PGLIB=$POSTGRES_HOME/lib

PGDATA==$POSTGRES_HOME/data

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB

PGPATH=$PATH:$HOME/bin:$PGBIN

export PATH

export PGDATA

export LD_LIBRARY_PATH

export POSTGRES_HOME=/opt/postgresql10b1
export PGBIN=$POSTGRES_HOME/bin
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB
export PATH=$PGBIN:.:$PATHH
-------------------------------------------------------------------------------追記END

起動スクリプト


展開したPostgreSQLソース内にcontribディレクトリがあります。
contribディレクトリ内のstart-scriptsにlinuxというファイルが起動スクリプトの雛型になります。
このファイルをrootユーザで/etc/rc.d/init.d/にpostgresとファイル名を変更してコピーします。
インストール先は/opt/postgresq10b1 lなのでprefixに/opt/postgresql10b1を指定します。

cp /usr/local/src/postgresql-10beta1/contrib/start-scripts/linux etc/rc.d/init.d/postgres
vi  /etc/init.d/postgres

sudo gedit /etc/init.d/postgres
Screenshot from 2017-06-02 11-00-08.png
-------------------------------------------------------------------------------追記
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
-------------------------------------------------------------------------------追記
Screenshot from 2017-06-02 11-04-22.png
# Installation prefix
prefix=/opt/postgresql10b1
# Data directory
PGDATA="/opt/postgresql10b1/data"
-------------------------------------------------------------------------------追記

chmod 755 /etc/init.d/postgres

chkconfig --add postgres
chkconfig --list | grep postgres
chkconfig postgres on


chkconfig sshd onに相当する自動起動の有効化はsystemctl enable postgres.serviceとなる。

su - postgres
env | grep PGDATA
initdb --encoding=UTF8 --no-locale
initdb --encoding=UTF8 --locale=C

Screenshot from 2017-06-02 11-15-46.png
exit;


service postgres start

[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql


posted by a23 at 10:27| Comment(0) | PostgreSQL

2017年05月31日

PostgreSQL10-beta ソースからコンパイルしてインストールする CentOS6.9 (成功)

CentOS 6.9 (64bit)

1. Firewall 5432 port をopen

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
/etc/init.d/iptables restart


2.
yum -y install gcc
yum -y install readline
yum -y install readline-devel
yum -y install zlib
yum -y install zlib-devel

3.
useradd postgres
passwd postgres


4.
chown -R postgres:postgres /home/postgres
chmod -R 700 /home/postgres
ls -ld  /home/postgres


5.

6.
ls
tar zxvf postgresql-10beta1.tar.gz
ls -d postgresql-10beta1

7.
mkdir /opt/postgresql10b1

8.
cd /usr/local/src/postgresql-10beta1
./configure --prefix=/opt/postgresql10b1


9.
make

10.
make install

11.
ls -l /opt/postgresql10b1

12.
chown -R postgres:postgres /opt/postgresql10b1
ls -l /opt/postgresql10b1

13.
vi /home/postgres/.bash_profile


15.
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
-------------------------------------------------------------------------------追記
POSTGRES_HOME=/opt/postgresql10b1

PGBIN=$POSTGRES_HOME/bin

PGLIB=$POSTGRES_HOME/lib

PGDATA==$POSTGRES_HOME/data

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB

PGPATH=$PATH:$HOME/bin:$PGBIN

export PATH

export PGDATA

export LD_LIBRARY_PATH

export POSTGRES_HOME=/opt/postgresql10b1
export PGBIN=$POSTGRES_HOME/bin
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB
export PATH=$PGBIN:.:$PATHH
-------------------------------------------------------------------------------追記END


起動スクリプト


展開したPostgreSQLソース内にcontribディレクトリがあります。
contribディレクトリ内のstart-scriptsにlinuxというファイルが起動スクリプトの雛型になります。
このファイルをrootユーザで/etc/rc.d/init.d/にpostgresとファイル名を変更してコピーします。
インストール先は/opt/postgresql10b1なのでprefixに/opt/postgresql10b1を指定します。

chmod 755 /etc/init.d/postgres

chkconfig --add postgres
chkconfig --list | grep postgres
chkconfig postgres on


su - postgres
env | grep PGDATA
initdb --encoding=UTF8 --no-locale
initdb --encoding=UTF8 --locale=C



service postgres start

[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql

posted by a23 at 16:31| Comment(0) | PostgreSQL

2017年05月23日

pgadmin3から接続 CentOS6.9 PostgreSQL10-beta ソースからコンパイルしてインストール

initdb --encoding=UTF8 --locale=C 

[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql
psql (10beta1)
Type "help" for help.

postgres=# \l
psql_\l.png


pgAdmin III より接続をこころみる (エラーが起こりました)

1. 警告
10beta.png

2.
ERROR:  function pg_last_xlog_receive_location() does not exist
LINE 1: ...E NULL END as inrecovery, CASE WHEN usesuper THEN pg_last_xl...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
10bete-1.png

3.
Column not found in pgSet: usecreatedb
10bete-2.png


4.
Column not found in pgSet: usesuper
10bete-3.png

5.
Column not found in pgSet: upsince
10bete-4.png


6.
Column not found in pgSet: confloadedsince
10bete-5.png


7.
Column not found in pgSet: inrecovery
10bete-6.png

8.
Column not found in pgSet: replayloc
10bete-7.png


9.
Column not found in pgSet: receiveloc
10bete-8.png


10.
Column not found in pgSet: replay_timestamp
10bete-9.png

11.
Column not found in pgSet: isreplaypaused
10bete-10.png

そのご接続はOK
10bete-20.png

新しいデータベース...の作成もOK
10bete-21.png




posted by a23 at 16:09| Comment(0) | PostgreSQL