2018年4月24日火曜日

PostgreSQL9.6.9 ソースからのインストール 2/3

設定ファイルの編集
postgresql.conf
$ vi /usr/local/pgsql/data/postgresql.conf

リモートアクセス可能にする。
#listen_addresses = 'localhost'

listen_addresses = '*'

明示的にポートを指定する。
#port = 5432

port = 5432

ログを有効にする。
#logging_collector = off

logging_collector = on

ログのファイル名を変更する。
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

log_filename = 'postgresql-%d.log'

#log_line_prefix = ''

log_line_prefix = '%t [%p] '

pg_hba.conf
$ vi /usr/local/pgsql/data/pg_hba.conf
リモートアクセス可能にする。
host    all             all             127.0.0.1/32            trust

host    all             all             192.168.1.0/24            trust

設定の反映
$ pg_ctl restart -w

DBのユーザ作成
$ createuser -s -d -r -P pgsa

作成したユーザを確認する。
$ psql -U postgres
\du

DBの設定は以上です。次回はOS側の設定になります。

2018年4月23日月曜日

PostgreSQL9.6.9 ソースからのインストール 1/3

わざわざソースからインストールする必要性はないのですが、勉強がてらソースからインストールしました。

まずはPostgreSQLが導入されているか確認します。
# rpm -qa | grep postgres

もしPostgreSQLが存在していたら、次のコマンドで削除しておきます。
# sudo yum -y remove postgresql

コンパイルに必要なgcc、readline-devel、zlib-develをインストールします。
# yum -y install gcc
# yum -y install readline-devel zlib-devel

PostgreSQL のコンパイルや実行に使用するユーザ postgres を作成します。
# useradd postgres
# passwd postgres

ソースコードをダウンロードします。
# cd /usr/local/src/
# wget https://ftp.postgresql.org/pub/source/v9.6.9/postgresql-9.6.9.tar.gz

展開します。
# tar xzf postgresql-9.6.9.tar.gz

オーナーを変えるます。
# chown -R postgres /usr/local/src/postgresql-9.6.9

インストール先ディレクトリを作成し、オーナーを変えます。
# mkdir /usr/local/pgsql9.6.9
# chown postgres /usr/local/pgsql9.6.9

今後発生するVupによるパス差分をシンボリックリンクで吸収します。
# unlink /usr/local/pgsql
# ln -s /usr/local/pgsql9.6.9 /usr/local/pgsql

コンパイルの準備として、スイッチユーザーとディレクトリ移動します。
# su - postgres
$ cd /usr/local/src/postgresql-9.6.9

インストール先を指定して、Makefileを生成します。
$ ./configure --prefix=/usr/local/pgsql

コンパイル
$ make world

インストール
$ make install-world

worldを指定しますと、contribモジュールやドキュメントを含めてコンパイルします。

postgresユーザーの環境変数を設定します。
(postgresユーザー以外を使用する場合はそのユーザーも設定する。)
$ vi /home/postgres/.bash_profile
以下の内容を最下部に書いて保存します。
PGHOME=/usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$PGHOME/LIB:$LD_LIBRARY_PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export PGDATA=/usr/local/pgsql/data

環境変数を反映させます。
$ . ~/.bash_profile

ソースからのインストールは以上です。 DBの設定は次回に続きます。

2018年3月18日日曜日

CentOS 7.4 インストール

プロジェクトの最終的な公開先はAWSのAmazon Linuxになります。
なので、テスト環境はCentOSで構築します。
インストール方法はいろんなところで紹介されているので割愛します。

インストール後、下記コマンドで最新版にします。
# yum -y update

今後、各種ソフトをインストールしますので、wgetをインストールします。
# yum -y install wget


Linux初心者なので、取りあえず必要なコマンドをまとめます。
# shutdown -h now
# reboot

Linux + SpringMVC + PostgreSQL Webアプリプロジェクト

Linux + SpringMVC + PostgreSQL にてWebアプリを開発するプロジェクトに関わることになりました。
環境構築、開発時の備忘録を残していこう思っています。

2014年9月1日月曜日

【Notes】プリビュー画面で編集を禁止方法

Querymodechangeに以下のソースを追加する。

If source.InPreviewPane Then
    continue = False
    Exit Sub
End If

2013年11月26日火曜日

【XPages】SSJSでのパラメータクエリ取得方法(その2)

パラメータ毎に取得する方法(その2)

context.getUrlParameter("paramName") ;

「paramName」は取得したいパラメータ名です。必要に応じて変更して下さい。

2013年11月7日木曜日

【XPages】日時ピッカーの初期値

日時ピッカーにて、「日付/時刻ピッカーポップアップを使用」にチェックを入れると、初期値で当日がセットされる。
セットしたく無いときは<xp:this.resources>に以下の構文を追加する。

<xp:script clientSide="true">
                       <xp:this.contents><![CDATA[
require([
       "dojo/_base/lang",
       "ibm/xsp/widget/layout/DateTextBox",
       "ibm/xsp/widget/layout/TimeTextBox",
       "ibm/xsp/widget/layout/DateTimeTextBox"
], function(lang, DateTextBox, TimeTextBox, DateTimeTextBox){
       var a = {};
       lang.mixin(a, {
               postCreate: function(){
                       this.inherited(arguments);
               }
       });
       DateTextBox.extend(a);
       TimeTextBox.extend(a);
       DateTimeTextBox.extend(a);
});
]]></xp:this.contents>
               </xp:script>

例:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
       <xp:this.resources>
               <xp:script clientSide="true">
                       <xp:this.contents><![CDATA[
require([
       "dojo/_base/lang",
       "ibm/xsp/widget/layout/DateTextBox",
       "ibm/xsp/widget/layout/TimeTextBox",
       "ibm/xsp/widget/layout/DateTimeTextBox"
], function(lang, DateTextBox, TimeTextBox, DateTimeTextBox){
       var a = {};
       lang.mixin(a, {
               postCreate: function(){
                       this.inherited(arguments);
               }
       });
       DateTextBox.extend(a);
       TimeTextBox.extend(a);
       DateTimeTextBox.extend(a);
});
]]></xp:this.contents>
               </xp:script>
       </xp:this.resources>

       <xp:inputText id="inputText1" value="#{sessionScope.inputText1}">
               <xp:this.converter>
                       <xp:convertDateTime type="date" />
               </xp:this.converter>
               <xp:dateTimeHelper />
       </xp:inputText>
</xp:view>