• ベストアンサー

postgresqlでinitdbが実行できない

Vine Linux2.6r4 + PostgreSQL 7.4.3で、インストールが終了して、initdbを実行すると、 creating directory /data... mkdir: ディレクトリ `/data' を作れません: 許可がありません とメッセージがでてきて、実行できません。 ユーザもpostgresでやっていて、問題はないとおもっていますが。。 どなたかご存知のかたがいらっしゃいましたらお教え願えませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

>ユーザもpostgresでやっていて、問題はないとおもっていますが。。 そういう意味ではなく、postgresアカウントに許可されていない場所に DBを作成しようとしているのでしょう。 initdb実行前に、あらかじめpostgresユーザが書き込めるディレクトリを 作成してから --pgdata、または環境変数PGDATAで指定してください。 いずれにせよ、ファイル権限などの超基本が理解できていないようですので Linuxの入門書などを勉強したほうが良いのでは?

taktak888jp
質問者

お礼

書き漏らしましたが、既に権限はすべてpostgresユーザに変更しています。 initdbで、usr/local/pgsql/dataに書き込むと思うのですが、その箇所はpostgresユーザになっているので、何故だろう?というところでとまっています。

関連するQ&A

  • PostgreSQLのinitdbでエラーが出てしまいます。

    どなたか教えて下さい。 RedhatLinux6.2J に PostgreSQL7.0.3をインストールしようとしています。 ソースファイルのコンパイルとインストールは正常に終了したつもりです。 postgres用ユーザーの環境変数も設定したつもりです。 しかし、postgres用ユーザーでinitdbを実行したところ、 Creating template database in /usr/local/pgsql/data/base/template1 ERROR: Error:unknown type 'oidvector'. ERROR: Error:unknown type 'oidvector'.  syntax error 12: parse errorinitdb:could not create templatedatebase というエラーメッセージが出てしまいます。 template1というデータベースが作成できなかった、ということは何となく わかるのですが、エラーの原因が何かさっぱり分かりません。 どうぞ、教えて下さい。お願いします。

  • postgreSQLのinitdb

    postgreSQL7.2.3のインストールを行いました。 % tar vxfz postgresql-7.2.3.tar.gz % cd postgresql-7.2.3 % ./configure --enable-locale --enable-multibyte=EUC_JP |& tee Configure.out % make | & tee Make.out % su # tcsh % make install | &tee Make_install.out % chown -R postgres:postgres /usr/local/pgsql ここまでは何も問題なく終わったのですが、 次に initdb を実行したところ以下エラーが出ます。 % su postgres % /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data ld.so.1: /usr/local/pgsql/bin/pg_encoding: 重大なエラー: libgcc_s.so.1: open に 失敗しました: ファイルもディレクトリもありません。 initdb: pg_encoding failed Perhaps you did not configure PostgreSQL for multibyte support or the program was not successfully installed. ↑ここまで 「マルチバイトサポートしていません」 「インストールに失敗しています」というような内容なのですが、 何がダメだったのでしょうか? ちなみにOSは Solaris9/02です。

  • postgresのWindows版でinitdbで初期化するには

    postgresのWindows版でinitdbで初期化するには どうすれば良いですか? postgresユーザで # initdb --encoding=UTF8 --no-locale を実行するという記事を見つけました。 linuxの場合、 su - postgres の後、実行すればよいのでしょうが、 Windows版ではどうなりますか? とりあえず、やってみましたが、以下のような状態です。 C:?Program Files?PostgreSQL?8.1?bin>initdb --encoding=UTF8 --no-locale initdb: no data directory specified You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA.

  • postgreSQLが初期化できないのです。

    初めまして。vine Linux にPostgreSQLをインストールしたのですが、 初期化の initdb が成功しません。 his user will own all the data files and must also own the server process. Creating database system directory /usr/local/pgsql/data Creating database system directory /usr/local/pgsql/data/base Creating database XLOG directory /usr/local/pgsql/data/pg_xlog Creating template database in /usr/local/pgsql/data/base/template1 021109.20:31:19.898 [14757] ERROR: Error: unknown type 'oid8'. 021109.20:31:19.898 [14757] ERROR: Error: unknown type 'oid8'. Creating global relations in /usr/local/pgsql/data/base Adding template1 database to pg_database initdb failed. Removing /usr/local/pgsql/data. Removing temp file /tmp/initdb.14730. のように、 unknown type 'oid8' と言われてしまいます。 この対処の方法をどなたか、教えてください。 お願いします。

  • PostgreSQL-initdb

    某書籍「WindowsユーザーのためのPostgre…」の手順の通りに実施してるのですが、 PostgreSQLのインストール・環境変数の設定後、データベースの初期化コマンド(initdb)を実行すると、"command not found"となってしまいます。 /usr/local/pgsql/bin内に、initdbファイル(拡張子なし)は存在しています。initdb.exeは存在してません。 手順等で欠落している(しそうな)こと、対応方法を教えてください。

  • Initdbの取消って可能なのでしょうか?

    お世話になっております。 Postgresなんですが、Linuxをインストールすると同時にpostgresが インストールされ、Initdbも実行されてしまいました。 標準のPGDATAのpathでInitdbされてしまっていますが、別の領域に PGDATAを作成したいため、initdbを取り消したいのです。 単純に旧のPGDATAを削除してInitdbの再実行でいいのでしょうか? それとも、単にinitdbの再実行でいいのでしょうか? それとも他の方法があるのでしょうか? 調べてみましたけど不明でした。 どなたか。お助けください。 お願いします。

  • initdb: command not find について教えてください。

    REDHAT LINUX9 postgreSQL8.0.4←7.2.3からのアップグレードで、 rootからsu postgresして initdbをしようとしたら。 initdb: command not find となるのですが、これって正常にインストールできていないのでしょうか? それとも、設定不良でしょうか? どなたか教えていただけませんでしょうか? 宜しくお願いします。

  • PostgresSQL initdbができません

    「cygwinでPostgreSQLをWindowsで使う本」 を見てインストールは完了しました ipc-daemon & initdb -D /usr/local/pgsql/data を行ったのですが creating template1 database in /usr/local/pgsql/data/base/1... のところでとまってしまい initdb:failed となります どのようにしたらいいでしょうか また どこかサイトでヘルプがありましたら教えてくださいよろしくお願いします

  • PostgreSQLのinitdbの利用の仕方

    PostgreSQLでカラム名の上限を拡張するため「pg_config_manual.h」の「NAMEDATALEN」を63→513に変更しました。 ただこれだけでは反映されず、ヘッダーファイル内のコメントに「initdbを実行しなければなりません。」といったコメントがあったので実行しようとしました。しかし、その使い方がよく分かりません。 新しいフォルダを指定して、実施するのは良いのですが、そうすると次からはそのディレクトリにデータベースが構築されていくのでしょうか? 実際に上記のカラム名の上限が拡張された新しいデータベースの作成方法と、そのデータベースの操作方法を教えていただきたいです。 ■実行環境 Windows10、 コマンドプロンプト使用、 Postgresql 15

  • PostgreSqlインストールで

    Linux環境にPostgreSqlをインストールしたいのですが以下のエラーがでて困ってます; 手順としては 1, ./configure 2, gmake 3, su 4, gmake install 5, mkdir /usr/local/pgsql/data 6, chown postgres /usr/local/pgsql/data 7, su - postgres 8, /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 9, /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & 10, /usr/local/pgsql/bin/createdb test 11, /usr/local/pgsql/bin/psql test まず手順8で以下のエラーが出ます database "postgres" does not exist その後、手順9を実行すると以下のエラーがでます createdb: could not connect to database template1: could not connect to server: そのようなファイルやディレクトリはありません Is the server runnning locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 解決策等ご存知でしたら教えて頂けないでしょうか? よろしくお願い致します。