自分のPC(XP)からTelnetで
LINUX(Red Hat Linux release 9 (Shrike))に接続して、
PostgreSQLを使いたいと思っています。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=944720
の方で「PostgreSQLが接続出来ない」という
質問をさせて頂いた者です。
PATHを通したので以前のようなエラーはなくなりました。
ただ今度は次のようなエラーが出てします。
$ postmaster
FATAL: XX000: failed to initialize lc_messages to ""
LOCATION: InitializeGUCOptions, guc.c:1866
また、initdbをすると、
$ initdb
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.
というエラーが出てします。
自分なりに色々とやってみたのですが
どうしても分かりません。
ご教授して頂けたら幸いです。
No.3ベストアンサー
- 回答日時:
うぉお!!!
> $ LANG=C initdb -D /home/postgres/bin
すっげ~名前!!!(驚愕・唖然 (^^;))
bin ですか・・・
別に名前はなんでもいいといればいいんですが
普通 bin は実行ファイルを保存するフォルダ名に
使われるので、今後のために避けた方がよろしいかと。
/home/postgres/data/
あたりをされた方がよろしいかと思います。
> ただ、ディレクトリーは毎回指定しないと
> いけないのでしょうか?
No1 の回答で答えていますが、再掲。
> initdb -D /home/postgres/data
> のように D オプションで指定せねばなりません。
>(環境変数 PGDATA に設定してしまう手もあります)
ユーザ postgres の .bashrc にて
PGDATA=/home/postgres/data
みたいにしておけばいいです。
ご返事有り難うございました。
>/home/postgres/data/
>あたりをされた方がよろしいかと思います。
ハイ、そうします。
何から何まで教えて頂き
大変に勉強になりました。
有り難うございました。
No.2
- 回答日時:
> initdb: directory "/home/postgres" exists
> but is not empty
「/home/postgres というフォルダが存在し
空ではない」とエラーが出ています。
> あなたが扱うデータベースの保存場所を
> 指定しなくてはなりません。どこか分かりますか?
> /home/postgres とか /usr/local/pgsql/data とか
> ちょっとそのマシンの管理者じゃないと、僕らでは
> どこに設定されているのか分からないんですが・・・
同じことを述べさせて頂きますが、どこにデータベースを
保存すればよろしいのでしょう?
ほんとに /home/postgres なのですか?
この回答への補足
ご返事有り難うございました。
>同じことを述べさせて頂きますが、どこにデータベースを
>保存すればよろしいのでしょう?
>ほんとに /home/postgres なのですか?
これも基本的な質問で大変に恐縮ですが、
自由には保存することが出来ないのでしょうか?
LINUXマシンはPostgreSQLをインストールをしただけで、環境設定等はしていません。
もしも宜しければ
どのように設定すればよいか
ご教授して頂けたら幸いです。
何度もすいません。
$ LANG=C initdb -D /home/postgres/bin
と、指定してみたところ、
Success. You can now start the database server using:
と、起動することが出来ました。
有り難うございました。
ただ、ディレクトリーは毎回指定しないといけないのでしょうか?
No.1
- 回答日時:
まず2つの問題があります。
わかりやすい方から(汗)
■ initdb: no data directory specified
あなたが扱うデータベースの保存場所を
指定しなくてはなりません。どこか分かりますか?
/home/postgres とか /usr/local/pgsql/data とか
ちょっとそのマシンの管理者じゃないと、僕らでは
どこに設定されているのか分からないんですが・・・
仮に、その場所が分かりましたら、例えばそれが
/home/postgres/data とすると
initdb -D /home/postgres/data
のように D オプションで指定せねばなりません。
(環境変数 PGDATA に設定してしまう手もあります)
■ LOCATION: InitializeGUCOptions, guc.c
これは、僕からすると珍しいエラーですねぇ
Web で調べたところ、PostgreSQL のエラー表示の
言語設定にからむようです(謎)
Lang 設定して、乗り越えたという記事を複数みつけ
ましたので・・・
LANG=C initdb -D /home/postgres/data
のように、initdb の前に LANG=C を追加すれば
いいのかもしれません。
-----
基本的なことで恐縮ですが、initdb や postgres コマンド
を使うとき、ログインしているアカウントはなんでしょう?
postgres を起動させる時は通常、postgres 専用の
ユーザになることが求められます。
su - postgres
のような su コマンドを initdb などする前に
入力していますでしょうか?
# 前の質問を見て疑問に思ったのですが
# その Linux マシンでは、あなたが手動で
# PostgreSQL を起動させる必要があるのですね(確認)
この回答への補足
こんにちは。
色々と詳しく回答して頂きまして有り難うございました。
>exitのような su コマンドを initdb などする前に
>入力していますでしょうか?
ハイ、ユーザはPostgresにしています。
># 前の質問を見て疑問に思ったのですが
># その Linux マシンでは、あなたが手動で
># PostgreSQL を起動させる必要があるのですね(確認)
超基本的な質問で大変に恐縮ですが
この辺りが分かりません。
LINUXマシンで設定しなければいけないことがあるんですか?
すいませんが、ご指導をして頂ければと思います。
教えて頂いたようにしましたら
次のようなエラーが起こりました。
[postgres@localhost postgres]$ LANG=C initdb -D /home/postgres
-------エラー
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale C.
initdb: directory "/home/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/home/postgres" or run initdb with an argument other than
"/home/postgres".
何度も申し訳ありませんが
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- 英語 lead on Earth,” の意味の取り方 6 2022/12/06 10:52
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- 英語 この英文の一部が分かりません。 7 2023/04/16 10:39
- VPN 何これ 1 2022/04/19 01:32
- UNIX・Linux Linux(fedora30)が立ち上がらくなってしまった 1 2023/03/29 11:09
- 英語 この英語の問題が分かりません 3 2023/04/22 20:19
- 英語 できるだけ直訳で英語の翻訳をお願いします。(英語→日本語) 1 2022/10/15 20:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLをC言語でアクセスし...
-
PostgreSQLの標準文字コードをS...
-
initdb: command not find...
-
PostgresSQLに create language...
-
windows版postgresql 異なるバ...
-
postgresqlの接続ポート5432か...
-
Access2002が立ち上がらない
-
CASEの中にCASE
-
IPアドレスでアクセス制限
-
postgresqlでのトランザクショ...
-
MySQLとPostgresの同時使用
-
sqlにて0無しの月をフォーマッ...
-
phpmyadminで左ペインのメニュ...
-
インストールの失敗?
-
pgpassが有効にならない?
-
SQL ExpressエディションのCPU...
-
PostgreSQLとポート5432
-
pgAdminIIIでのリストア
-
デフォルトのCLIENT_ENCODINGを...
-
Oracle ODBC Driver インストー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
POSTGRESのデータの格納場所は...
-
PostgreSQL14.6のSSL対応について
-
PostgreSQLの標準文字コードをS...
-
PostgreSQLで"pg_dumpall -f da...
-
Cプログラミング内でのPostgre...
-
日本語入力について
-
PostgreSQLをC言語でアクセスし...
-
initdb: command not find...
-
PostgreSQL インストール 起動...
-
PostgreSQLのinitdbでエラーが...
-
Cコンパイル時にポスグレのライ...
-
PostgreSqlインストールで
-
PostgreSQLを初期化できない
-
接続出来ない その2
-
postgreSQLが初期化できないの...
-
CygwinでPostgreSQL makeエラー
-
postgresqlの接続ポート5432か...
-
windows版postgresql 異なるバ...
-
MySQLとPostgresの同時使用
-
Windows10でQuickTimeがインス...
おすすめ情報