Top >
PostgreSQL > pg_ctlで「データベースクラスタのディレクトリではありません」というエラーになる場合の対処
pg_ctlで「データベースクラスタのディレクトリではありません」というエラーになる場合の対処
PostgreSQLのpg_ctlで「データベースクラスタのディレクトリではありません」というエラーになる場合の対処方法について紹介します。
1.問題点
postgresqlのサーバ起動で
$ pg_ctl start
pg_ctl: ディレクトリ "/var/lib/pgsql/9.6/data" はデータベースクラスタのディレク トリではありません
というエラーになり、サーバの起動ができませんでした。
/var/lib/pgsql/9.6/data
というディレクトリは存在します。
ということで、「データベースクラスタのディレクトリではありません」というエラーになる場合の対処方法について紹介します。
2.対処
postgresユーザで、
$ pg_ctl start
の前に、init_dbを実行します。
以下、実施画面です。
$ initdb
データベースシステム内のファイルの所有者は"postgres"ユーザでした。
このユーザがサーバプロセスを所有しなければなりません。
データベースクラスタはロケール"ja_JP.UTF-8"で初期化されます。
したがってデフォルトのデータベース符号化方式はUTF8に設定されました。
initdb: ロケール"ja_JP.UTF-8"用の適切なテキスト検索設定が見つかりません
デフォルトのテキスト検索設定はsimpleに設定されました。
データベージのチェックサムは無効です。
ディレクトリ/var/lib/pgsql/9.6/dataの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
デフォルトのmax_connectionsを選択しています ... 100
デフォルトの shared_buffers を選択しています ... 128MB
selecting dynamic shared memory implementation ... posix
設定ファイルを作成しています ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
データをディスクに同期しています...ok
警告: ローカル接続向けに"trust"認証が有効です。
pg_hba.confを編集する、もしくは、次回initdbを実行する時に-Aオプショ
ン、または、--auth-localおよび--auth-hostを使用することで変更するこ
とができます。
Success. You can now start the database server using:
pg_ctl -D /var/lib/pgsql/9.6/data -l logfile start
このコマンドの実行後、サーバの起動ができました。
$ pg_ctl start
サーバは起動中です。
-bash-4.2$ < 2018-07-11 15:50:17.918 JST > LOG: ログ出力をログ収集プロセスにリ ダイレクトしています
< 2018-07-11 15:50:17.918 JST > ヒント: ここからのログ出力はディレクトリ"pg_log"に現れます。
Posted by yujiro このページの先頭に戻る
- LinuxにPostgreSQLをインストールする方法
- PostgreSQLをLinuxでソースコードからビルドして利用する方法
- PostgreSQLで「could not connect to server」となる場合の対処
- PostgreSQLのバックアップとリストア
- PostgreSQLの初期化からデータベース接続まで
トラックバックURL
コメントする
greeting