1

私は小さな PostgreSQL セットアップをテストしようとしているので、簡単なローカル インストールをまとめました。ただし、createdb を使用して個人用データ​​ベースを作成しようとすると、このようなエラーで停止します (特に、最初は base/16384 で始まり、実行するたびに増加します)。ここで何が起こっているのか誰でも知っていますか、それとも私が見逃した些細な設定があれば、これが原因でしょうか? ありがとうございます。これは少し時間が重要なので、何か知っていることがあれば返信してください。ありがとう!

更新:
私はこれを CentOS 5 サーバーで実行しています。詳細があまりないことをお詫びします (そのサーバーの共有アカウントです)。uname -a の出力は次のとおりです。

Linux {省略} 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:04:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

次のソースから PostgreSQL をインストールしました。

http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v9.0.1/postgresql-9.0.1.tar.bz2

ホームディレクトリにビルドされ、prefix=$HOME/local/pgsql にインストールされました。

これは、新しいデータ設定でユーザーのデータベースを作成しようとしている端末の読み取りです。

[htung@{OMITTED}:~]$ killall postgres
LOG: 自動バキューム ランチャーのシャットダウン
LOG: スマート シャットダウン要求の受信
LOG: シャットダウン
LOG: データベース システムのシャットダウン
[htung@{OMITTED}:~]$ rm -r tmp
mk [1]+ 完了 ../local/pgsql/bin/postgres -D $HOME/tmp (wd: ~/tmp)
(wd now: ~)
[htung@{OMITTED}:~]$ mkdir tmp
[htung@{ OMITTED}:~]$ local/pgsql/bin/initdb -D $HOME/tmp
このデータベース システムに属するファイルは、ユーザー「htung」が所有します。
このユーザーは、サーバー プロセスも所有している必要があります。

データベース クラスタは、ロケール en_US.UTF-8 で初期化されます。
したがって、デフォルトのデータベース エンコーディングは UTF8 に設定されています。
デフォルトのテキスト検索構成は「英語」に設定されます。

既存のディレクトリ /afs/{OMITTED}/htung/tmp のパーミッションを修正します ... OK
サブディレクトリを作成します ... OK
デフォルトの max_connections を選択します ... 100
デフォルトの shared_buffers を選択します ... 32MB
構成ファイルを作成します ... OK
template1 データベースを作成します/afs/{OMITTED}/htung/tmp/base/1 ... ok
pg_authid の初期化中 ... ok
依存関係の初期化中 ... ok
システム ビューの作成中 ... ok
システム オブジェクトの説明の読み込み中 ... ok
変換の作成中 .. . わかりました
辞書の作成 ... わかり
ました 組み込みオブジェクトの権限の設定 ... わかりました
情報スキーマの作成... わかりました
PL/pgSQL サーバー側言語のロード ...わかりました
データベース template1 のバキューム処理 ... わかりました
template1 を template0 にコピーする ... OK
template1 を postgres にコピーする ... OK

警告: ローカル接続の「信頼」認証を有効にしています これは、pg_hba.conf を編集するか、 次に initdb を実行するとき
に -A オプションを使用することで変更できます。

成功。以下を使用してデータベースサーバーを起動できるようになりました。

local/pgsql/bin/postgres -D /afs/{OMITTED}/htung/tmp  

または
local/pgsql/bin/pg_ctl -D /afs/{OMITTED}/htung/tmp -l logfile start

[htung@{OMITTED}:~]$ local/pgsql/bin/postgres -D $HOME/tmp
LOG: database system was shut down at 2010-11-15 13:47:25 PST
LOG: autovacuum launcher started
LOG: databaseシステムは接続を受け入れる準備ができています

[1]+ local/pgsql/bin/postgres を停止 -D $HOME/tmp
[htung@{OMITTED}:~]$ bg
[1]+ local/pgsql/bin/postgres -D $HOME/tmp &
[htung@ {OMITTED}:~]$ local/pgsql/bin/createdb
エラー: ファイル "base/16384" を fsync できませんでした: 無効な引数
ステートメント: CREATE DATABASE htung;

createdb: データベースの作成に失敗しました: エラー: ファイル "base/16384" を fsync できませんでした: 引数が無効です
[htung@{OMITTED}:~]$

4

1 に答える 1

0

ここでSElinuxシステムに遭遇している可能性があります。SELinuxをオフにしてそれが機能するかどうかを確認するか、postgresqlWebサイトから入手できるRPMからインストールすることをお勧めします。

于 2010-11-15T23:45:52.313 に答える