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

2017年05月22日

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

1.
yum -y install gcc
yum -y install readline
yum -y install readline-devel
yum -y install zlib
yum -y install zlib-devel
01_yum.png

2.
useradd postgres
passwd postgres
02_passwd
3.
chown -R postgres:postgres /home/postgres
chmod -R 700 /home/postgres
ls -ld  /home/postgres
03_chown.png
4.
04_wget.png
5.
ls
tar zxvf postgresql-10beta1.tar.gz
ls -d postgresql-10beta1
05_tar10.png
6.
mkdir /opt/postgresql
06_ls_10.png
7.
cd /usr/local/src/postgresql-10beta1
./configure --prefix=/opt/postgresql
07_yum_.png
8.
08_confg.png
9.
make
10_make.png
10.
make install
11_make_inst.png
11.
make install 完了
11_makeinst_end.png
12.
ls -l /opt/postgresql
12_ls.png
13.
chown -R postgres:postgres /opt/postgresql
ls -l /opt/postgresql
13_chow.png
14.
vi /home/postgres/.bash_profile
14_vi.png
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/postgresql

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

15_vi.png
16.
su - postgres
16_su_post.png
17.
env | grep PGDATA
17_env.png
18.
initdb --encoding=UTF8 --no-locale
18_initdb.png
---------------------------------------------------------------------------------------
-bash: initdb: コマンドが見つかりません



pg_ctl initdb を試みる
01_yum.png
[root@localhost ~]# ./pg_ctl initdb
bash: ./pg_ctl: そのようなファイルやディレクトリはありません
[root@localhost ~]# cd  /opt/postgresql/bin
[root@localhost bin]# ./pg_ctl initdb
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
[root@localhost bin]# su -postgres
su: オプションが違います -- 'o'
詳しくは `su --help' を実行して下さい.
[root@localhost bin]# su postgres
[postgres@localhost bin]$ ./pg_ctl initdb
pg_ctl: no database directory specified and environment variable PGDATA unset
Try "pg_ctl --help" for more information.
[postgres@localhost bin]$

動作できませんでした。


環境変数(export PATH )の変更を試みる
-------------------------------------------------------------------------------
# .bash_profile

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

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
-------------------------------------------------------------------------------
を↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓に変更。
-------------------------------------------------------------------------------
# .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

export POSTGRES_HOME=/opt/postgresql
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
-------------------------------------------------------------------------------


initdb --encoding=UTF8 --no-locale
initdb_ok.png
Success. You can now start the database server using:
    pg_ctl -D /opt/postgresql/data -l logfile start

動作OK。

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







posted by a23 at 19:46| Comment(0) | PostgreSQL