20170309_ossdb_silver_教科書_8-5
CREATE TABLE tbl3 ( c1 numeric(3,2) ); INSERT INTO tbl3 VALUES (9.99), (0.995);
20170308_ossdb_silver_教科書_8-4
CREATE TABLE tbl1 ( id int PRIMARY KEY, name text ); CREATE TABLE tbl2 ( id int PRIMARY KEY, name text ); INSERT INTO tbl1 VALUES (1,'AAA'); INSERT INTO tbl1 VALUES (2,'BBB'); INSERT INTO tbl1 VALUES (3,'CCC'); INSERT INTO tbl2 VALUES (2,'BBB'); INSERT INTO tbl2 VALUES (3,'CCC'); INSERT INTO tbl2 VALUES (4,'DDD');
20170308_ossdb_silver_教科書_8-3
CREATE TABLE users ( id int PRIMARY KEY, 名前 text, 部署id int ); CREATE TABLE dept ( 部署id int PRIMARY KEY, 部署 text ); INSERT INTO users VALUES (1,'鈴木',2); INSERT INTO users VALUES (2,'佐藤',3); INSERT INTO users VALUES (3,'田中',4); INSERT INTO users VALUES (4,'渡辺',5); INSERT INTO dept VALUES (1,'総務'); INSERT INTO dept VALUES (2,'企画'); INSERT INTO dept VALUES (3,'営業'); INSERT INTO dept VALUES (4,'開発');
20170307_ossdb_silver_教科書_8-2
CREATE TABLE table_1 ( KeyA text, KeyB text ); CREATE TABLE table_2 ( KeyA text, KeyB text ); INSERT INTO table_1 VALUES ('table_X','X'); INSERT INTO table_1 VALUES ('table_Y','Y'); INSERT INTO table_1 VALUES ('table_Z','Z'); INSERT INTO table_2 VALUES ('table_1','X'); INSERT INTO table_2 VALUES ('table_2','Y'); INSERT INTO table_2 VALUES ('table_3','Z');
検証中 CREATE TABLE table_3 ( keyA text, keyB text ); INSERT INTO table_3 VALUES ('KeyA','X'); INSERT INTO table_3 VALUES ('KeyB','Y'); INSERT INTO table_3 VALUES ('KeyC','Z'); INSERT INTO table_3 VALUES ('KeyB','X');
20170303_ossdb_silver_教科書_8
CREATE TABLE member ( id int PRIMARY KEY, 名前 text, 年齢 int, 部署 text ); INSERT INTO mumber VALUES (1,'鈴木',25,'営業'); INSERT INTO mumber VALUES (2,'佐藤',30,'開発'); INSERT INTO mumber VALUES (3,'田中',25,'開発'); INSERT INTO mumber VALUES (4,'渡辺',30,'総務'); INSERT INTO mumber VALUES (5,'後藤',41,'営業'); INSERT INTO mumber VALUES (6,'渡辺',25,'開発');
psql --file chapter8.sql -d chapter8
20170304_OSS_DB_Silver_
postgresqlを自動起動させる。
CentOS7で自動起動はsystemdで管理されている。
下記コマンドでサービス一覧を表示できる。
systemctl list-unit-files -t service
コンパイルしてインストールしたので(?)、サービスが表示されない。
$ systemctl list-unit-files -t service | grep post postfix.service
CentOS7にPostgreSQL9.3と最新のもので環境構築してみた。
unitファイルというもので、自動起動させるみたい。 Unitファイル - Google 検索
長くなりそうなので、postgresの勉強が終わってからもう一度やってみる。
20170303_ossdb_silver_教科書_3
postgresqlをインストール
■ユーザーを生成
# useradd postgres # passwd postgres
■必要なパッケージのインストール
# yum install make # yum install gcc # yum install readline # yum install zlib # yum install flex # yum install bison
上記をインストールしてmakeすると、readlineが見つからないというエラーが発生する。
checking for -lreadline... no checking for -ledit... no configure: error: readline library not found If you have readline already installed, see config.log for details on the failure. It is possible the compiler isn't looking in the proper directory. Use --without-readline to disable readline support.
[see config.log]とあるので、[config.log]を見てみる。
ちなみに、[config.log]は、./configureディレクトリ内に生成される。
[postgresql-9.0.23]# ls COPYRIGHT HISTORY Makefile aclocal.m4 config.log configure.in doc GNUmakefile.in INSTALL README config configure contrib src
[config.log]の該当箇所
configure:8317: checking for -lreadline configure:8349: gcc -o conftest -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -fwrapv -fexcess-precision=standard -fno-aggressive-loop-optimizations -D_GNU_SOURCE conftest.c -lreadline -lcrypt -ldl -lm >&5 /usr/bin/ld: cannot find -lreadline collect2: error: ld returned 1 exit status configure:8356: $? = 1 configure: failed program was:
readlineをインストールしているのにreadlineが見つからないいうメッセージが表示されている。
上記エラーについて検索すると、下記の記事が見つかった。
makeで「/usr/bin/ld: cannot find」と表示されるときは − @IT
「それでも同じエラーが出る場合は、xxx-develをインストールする」
開発者ツールがインストールされていないとエラーが発生するようである。
■必要なパッケージのインストール2 下記二つのパッケージをインストールするとmakeできるようになる (2017/3/3時点)
# yum install readline-devel # yum install zlib-devel
あらかじめ、/optにソースコードをダウンロードする
※教科書に記載のメジャーバージョンの最新版をダウンロードした
# su - postgresql $ cd /opt/ $ tar xzvf postgresql-9.0.23 $ cd postgresql-9.0.23 $ ,/configure $ make $ su # make install
インストール完了