PostgreSQL/CentOSのPostgreSQL起動時の設定値を変更する
の編集
Top
/
PostgreSQL
/
CentOSのPostgreSQL起動時の設定値を変更する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * CentOSのPostgreSQLの起動時設定値を変更する [#ld47786a] 本記事はCentOS 5.8にRPMパッケージで提供されているPostgreSQLをインストールし、起動時の設定値を変更する方法を記します。~ #contents #htmlinsertpcsp(db-top.html,db-sp.html) * yumコマンドでPostgreSQLをインストール [#w4e03e54] インストールコマンドは以下の通り yum install postgresql84-server インストール後、以下のコマンドで初期化しPostgreSQLを起動しました。 # service postgresql initdb データベースを初期化中: [ OK ] # service postgresql start postgresql サービスを開始中: [ OK ] nmapコマンドでポートを確認したところデフォルトポートである5432で動作しています。 # nmap localhost | grep postgres 5432/tcp open postgres - 参考記事~ -[[nmapコマンドの説明>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E9%96%8B%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%83%BBnmap.html]] 今回はこのポート番号を変更してみます。 * 起動スクリプトの修正 [#b163724d] /etc/init.d/postgresqlのスクリプトを確認してみると以下の記述があります。 以下、スクリプトの抜粋です。 106 # Set defaults for configuration variables 107 PGENGINE=/usr/bin 108 PGPORT=5432 109 PGDATA=/var/lib/pgsql/data 110 PGLOG=/var/lib/pgsql/pgstartup.log 108行目のPGPORTを変更すれば、PostgreSQLのポート番号を変更できることがわかります。~ しかし、RPMパッケージのバージョンアップなどで上書きされてしまった場合があるかもしれません。~ 他の設定方法がないかを確認してみたところ、すぐ下の行に以下の記述がありました。 112 # Override defaults from /etc/sysconfig/pgsql if file is present 113 [ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME} 今回はこの113行目でPostgreSQLのポート番号を変更できるようにしてみます。 ${NAME}と記述されているところですが、これは、起動スクリプトの90行目に記述されていました。~ 90 # Find the name of the script 91 NAME=`basename $0`/etc/sysconfig/pgsql/ - 参考記事~ [[basenameコマンドの説明>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%AE%E3%81%BF%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.html]] よって、/etc/sysconfig/pgsql/にpostgresqlファイルを作成しportを変更してみます。 * /etc/sysconfig/pgsql/postgresqlによるポート番号の変更 [#t4cd4af4] ポート番号変更のため、/etc/sysconfig/pgsql/にpostgresqlに以下のコマンドでPGPORT=15432をpostgresqlファイルに記述しました。 # echo "PGPORT=15432" > /etc/sysconfig/pgsql/postgresql # cat /etc/sysconfig/pgsql/postgresql PGPORT=15432 PostgreSQLを再起動してみます。 # service postgresql restart postgresql サービスを停止中: [ OK ] postgresql サービスを開始中: [ OK ] ポート番号を変更したので、postgresの表示がなくなりました。 # nmap localhost Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-04-16 14:09 JST Interesting ports on localhost.localdomain (127.0.0.1): Not shown: 1678 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp Nmap finished: 1 IP address (1 host up) scanned in 0.106 seconds なので、netstat -antで確認すると15432ポートがLISTENされているのが確認できました。 # netstat -ant | grep 15432 tcp 0 0 127.0.0.1:15432 0.0.0.0:* LISTEN psqlコマンドで接続しています。~ デフォルトポート(5432)では接続できず、修正した15432で接続が確認できました。 # su postgres bash-3.2$ psql postgres could not change directory to "/root" psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません ローカルにサーバが稼動していますか? Unixドメインソケット"/tmp/.s.PGSQL.5432"で通信を受け付けていますか? bash-3.2$ psql -p 15432 postgres could not change directory to "/root" psql (8.4.9) Type "help" for help. postgres=# \q bash-3.2$ 上記の操作によりPostgreSQLのポート番号が変更されたのが確認できました。 #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * CentOSのPostgreSQLの起動時設定値を変更する [#ld47786a] 本記事はCentOS 5.8にRPMパッケージで提供されているPostgreSQLをインストールし、起動時の設定値を変更する方法を記します。~ #contents #htmlinsertpcsp(db-top.html,db-sp.html) * yumコマンドでPostgreSQLをインストール [#w4e03e54] インストールコマンドは以下の通り yum install postgresql84-server インストール後、以下のコマンドで初期化しPostgreSQLを起動しました。 # service postgresql initdb データベースを初期化中: [ OK ] # service postgresql start postgresql サービスを開始中: [ OK ] nmapコマンドでポートを確認したところデフォルトポートである5432で動作しています。 # nmap localhost | grep postgres 5432/tcp open postgres - 参考記事~ -[[nmapコマンドの説明>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E9%96%8B%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B%E3%83%9D%E3%83%BC%E3%83%88%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%83%BBnmap.html]] 今回はこのポート番号を変更してみます。 * 起動スクリプトの修正 [#b163724d] /etc/init.d/postgresqlのスクリプトを確認してみると以下の記述があります。 以下、スクリプトの抜粋です。 106 # Set defaults for configuration variables 107 PGENGINE=/usr/bin 108 PGPORT=5432 109 PGDATA=/var/lib/pgsql/data 110 PGLOG=/var/lib/pgsql/pgstartup.log 108行目のPGPORTを変更すれば、PostgreSQLのポート番号を変更できることがわかります。~ しかし、RPMパッケージのバージョンアップなどで上書きされてしまった場合があるかもしれません。~ 他の設定方法がないかを確認してみたところ、すぐ下の行に以下の記述がありました。 112 # Override defaults from /etc/sysconfig/pgsql if file is present 113 [ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME} 今回はこの113行目でPostgreSQLのポート番号を変更できるようにしてみます。 ${NAME}と記述されているところですが、これは、起動スクリプトの90行目に記述されていました。~ 90 # Find the name of the script 91 NAME=`basename $0`/etc/sysconfig/pgsql/ - 参考記事~ [[basenameコマンドの説明>http://linux.just4fun.biz/%E9%80%86%E5%BC%95%E3%81%8DUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%81%AE%E3%81%BF%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.html]] よって、/etc/sysconfig/pgsql/にpostgresqlファイルを作成しportを変更してみます。 * /etc/sysconfig/pgsql/postgresqlによるポート番号の変更 [#t4cd4af4] ポート番号変更のため、/etc/sysconfig/pgsql/にpostgresqlに以下のコマンドでPGPORT=15432をpostgresqlファイルに記述しました。 # echo "PGPORT=15432" > /etc/sysconfig/pgsql/postgresql # cat /etc/sysconfig/pgsql/postgresql PGPORT=15432 PostgreSQLを再起動してみます。 # service postgresql restart postgresql サービスを停止中: [ OK ] postgresql サービスを開始中: [ OK ] ポート番号を変更したので、postgresの表示がなくなりました。 # nmap localhost Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-04-16 14:09 JST Interesting ports on localhost.localdomain (127.0.0.1): Not shown: 1678 closed ports PORT STATE SERVICE 22/tcp open ssh 25/tcp open smtp Nmap finished: 1 IP address (1 host up) scanned in 0.106 seconds なので、netstat -antで確認すると15432ポートがLISTENされているのが確認できました。 # netstat -ant | grep 15432 tcp 0 0 127.0.0.1:15432 0.0.0.0:* LISTEN psqlコマンドで接続しています。~ デフォルトポート(5432)では接続できず、修正した15432で接続が確認できました。 # su postgres bash-3.2$ psql postgres could not change directory to "/root" psql: サーバに接続できませんでした: そのようなファイルやディレクトリはありません ローカルにサーバが稼動していますか? Unixドメインソケット"/tmp/.s.PGSQL.5432"で通信を受け付けていますか? bash-3.2$ psql -p 15432 postgres could not change directory to "/root" psql (8.4.9) Type "help" for help. postgres=# \q bash-3.2$ 上記の操作によりPostgreSQLのポート番号が変更されたのが確認できました。 #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する