• ベストアンサー

Redhat9 の PostgreSQL

RHL9インストール時にPostgreSQLもインストールしました。 この場合、DBファイルはどのフォルダに作成されるのでしょうか? creatdb したものを find するのですが、見あたりません。 よろしくお願いします。

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

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

今晩は。すごいお礼ですね。 >そのdb名では存在しないのでしょうか? 残念ですが、postgresqlのデータベースは データベース・テーブルなどが全て数字名のファイル になっていて、lsコマンドで見ても判りません。 少なくともbaseディレクトリ配下の数字名のディレクトリが createdbで作ったデータベースに相当します。 どのデータベースがどの数字のディレクトリかは、 pg_database というシステムカタログを見れば判ります。 たとえばzaikoというデータベースを作ってみます。 $ createdb --encoding EUC_JP zaiko <ENTER> $ psql -l <ENTER>     List of databases Name   | Owner  | Encoding -----------+----------+---------- template0 | postgres | EUC_JP template1 | postgres | EUC_JP zaiko   | postgres | EUC_JP $ psql zaiko <ENTER> zaiko=# select oid,datname from pg_database ; <ENTER>  oid | datname -------+----------- 16977 | zaiko    1 | template1 16975 | template0 (4 rows) zaikoというデータベースのOIDが「16977」になっています。 「base」ディレクトリ配下の「16977」ディレクトリが 「zaiko」と言う事です。

abcxyz3000
質問者

お礼

>今晩は。すごいお礼ですね。 あはははは。 あれは、教えてgooのシステムの融通のなささが原因です。 買った参考書が7.1.1対応で、それだと 見えるような書き方をしていたんですね。見間違いかもしれませんが。。 とりあえず、勉強させてもらいました。 ありがとうございました。 きのうからはじめたのですが、結構、大変です。

その他の回答 (1)

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

RedHat9のCDからPostgresをインストールしたのであれば postgres というアカウントが作成されているので、ルート権限で パスワードを与えてログインしてみてください。 .bash_profileという設定ファイル内の PGDATA という環境変数にDBの場所が定義されています。

abcxyz3000
質問者

お礼

すみません。まだしたに、base というディレクトリがありました。 ├─pg_clog │ 0000 │ ├─pg_xlog │ 0000000000000000 │ └─base ├─1 │ 1255 │ 1247 │ 1249 │ 1259 │ 16384 │ 16386 │ 16388 │ 16390 │ 16392 │ 16394 │ 16396 │ 16398 │ 16400 │ 16402 │ 16404 │ 16406 │ 16408 │ 16410 │ 16412 │ 16414 │ 16416 │ 16418 │ 16594 │ 16596 │ 16598 │ 16600 │ 16601 │ 16602 │ 16603 │ 16604 │ 16605 │ 16606 │ 16607 │ 16608 │ 16609 │ 16610 │ 16611 │ 16612 │ 16613 │ 16614 │ 16615 │ 16616 │ 16617 │ 16618 │ 16619 │ 16622 │ 16623 │ 16624 │ 16627 │ 16628 │ 16629 │ 16630 │ 16631 │ 16632 │ 16633 │ 16634 │ 16635 │ 16636 │ 16637 │ 16638 │ 16639 │ 16640 │ 16641 │ 16642 │ 16645 │ 16646 │ 16647 │ 16648 │ 16649 │ 16650 │ 16651 │ PG_VERSION │ 16654 │ 16656 │ 16663 │ 16657 │ 16659 │ 16665 │ 16669 │ 16671

abcxyz3000
質問者

補足

PGDATA=/var/lib/pgsql/data となっていました。 それで、/var/lib/pgsql/data の中をみてみたところ。。次のようなツリーで私が作成したdb名が見あたらないのですが、これはどうやって捜すといいのでしょうか?というか、そのdb名では存在しないのでしょうか? Z:. │ PG_VERSION │ pg_hba.conf │ pg_ident.conf │ postgresql.conf │ postmaster.opts │ postmaster.pid │ ├─global │ pg_control │ 1262 │ 1260 │ 1261 │ 16620 │ 16621 │ 16625 │ 16626 │ 16643 │ 16644 │ 16660 │ 16662 │ 16666 │ 16668 │ 16675 │ 16677 │ pgstat.stat │ pg_pwd │ ├─pg_clog │ 0000 │ └─pg_xlog 0000000000000000

関連するQ&A

  • PostgreSQLで作成したデータについて

    RedHatLinux9.0にPHPとPostgresql(RPMインストール) をインストールして、WEBアプリ検証をしていますが PostgresqlのコマンドでDBを作成し、 コマンドライン上では、表示できますが、 Mozilla(ブラウザ)からは表示できません。 DB呼び出し用のスクリプトはApacheの ドキュメントルートの/var/www/htmlにおいています。 DBの保存場所が悪いのかと考えて、作成したDBを findコマンドで検索しますが、表示されません。 Postgresqlのコマンドで作成したDBファイルは どこのディレクトリに保存されているのでしょうか? MYSQLのようにMYDやFRM、MYIというようなファイルの 拡張子をつけないと検索できないのでしょうか? PostgreSQLの場合はどんな拡張子になるのでしょうか? ご存知の方は教えてください タカ

    • 締切済み
    • PHP
  • PostgreSQLのDB復元

    PostgreSQLのDBサーバがハードディスク故障で使えなくなり、新サーバに交換しましたが、幸い古いディスクからファイルシステムのデータをコピーできました。 この場合、どうやって新サーバにDBのリストアできるのでしょうか? コピーされた古いディスクのファイルはdumpしてない元々のファイル群ですので、ちょっと復元のやり方が分かりません。 新サーバに同じバージョンのPostgreSQLをインストールして、古いファイルを上書きすればいいでしょうか? ちなみに、旧サーバと新サーバのスペックは一緒です。 分かる方いればぜひ教えてください。

  • PostgreSQLサーバー。

    今回、自宅でプログラミングの勉強をする上で、DBの課題ができ、PostgreSQLをインストールできずに困っています。 課題といたしましては→テーブルを作成し、そのテーブルに対して検索した結果を表示するServletを作成することです。 そして、サンプルデータをAccessに置き、PostgreSQLとAccessをODBCで繋ぐ事です。 その第1段階といたしまして、PostgreSQLをWebサーバーにインストールする事です。  自分でも、HPなどで結構調べたのですが、自分の環境の、 OS----------------Win98 Webサーバー ------JRun に合う、PostgreSQLサーバーが探し出せないのです。 どなたか、詳しい方宜しくお願いします。

  • RedHat ES4でPostgreSQLを自動起動したい

    RedHatにPostgreSQL8.2.3をインストールしました。 インストール自体は他のディストリビューションでも何回も行っているので 特に問題なく終了しました。しかし自動起動がうまくいきません。 /etc/init.d/postgresqlを以下の内容で作成しました。 ----- ここから ----- #!/bin/sh # chkconfig: - 87 13 # description: PostgreSQL8.2 # processname: postmaster # pidfile: /var/run/postgresql.pid pidfile=/var/run/postgresql.pid . /etc/init.d/functions case "$1" in start) su - postgres -c "pg_ctl start" touch $pidfile ;; stop) su - postgres -c "pg_ctl stop -m fast" rm -f $pidfile ;; restart) su - postgres -c "pg_ctl stop -m fast" su - postgres -c "pg_ctl start" ;; *) echo "Usage: /etc/rc.d/init.d/postgresql {start|stop}" esac exit 0 ----- ここまで ----- このスクリプト自体はrootにて # /etc/init.d/postgresql start できちんとDBが起動する事は確認しています。これを以下のようにして 自動起動の設定を行いました。 # chmod 755 /etc/init.d/postgresql # chkconfig --add postgresql # chkconfig --level 35 postgresql on # chkconfig --level 06 postgresql off 問題はここからで、この状態で再起動を行うと、起動時にpostgresqlを 実行するところでとまってしまうのです。pidファイルなどゴミが無い事は 確認済みなのですが・・・その状態でもネットワークログインは出来るので プロセスを確認すると以下のようなプロセスが残った状態でとまっていました。 root 2765 0.0 0.0 5920 760 ? S 00:47 0:00 initlog -q -c /etc/rc5.d/S87postgresql start root 2766 0.0 0.0 6916 1336 ? S 00:47 0:00 /bin/sh /etc/rc5.d/S87postgresql start root 2769 0.0 0.0 6124 1276 ? S 00:47 0:00 su - postgres -c pg_ctl start この状態で # kill 2765 2766 2769 とすると起動がまた再開されるので、PostgreSQLの起動時にとまっている事は 明らかです。 いったい何が原因なのか、さっぱりわかりません。 どなたかヒントだけでもいただけたら幸いです。 よろしくお願いします。

  • PostgreSQLを完全に削除出来ない

    以前試しにPostgreSQLをインストールしたことがあって、一度削除していました。そして今回新しく構築したく再インストールしたのですが、pgAdminIIIを開くと、以前作成状態とまったく同じになってます。 削除方法に問題があるのでしょうか?以下に作業内容を記述します。 1.プログラムの追加と削除でPostgreSQLを削除 2.管理ツールのユーザーよりPostgreSQL service accountの削除 3.Documents and Settingsにpostgres関連のディレクトリが作成されていたので削除 4.PostgreSQLをインストール 5.以前の状態で復活・・・ ■環境 OS:WindowsXPpro DB:PostgreSQL 8.0.3 / pgAdminIII 1.3.0 インストール方法は以下ページと同じ http://allabout.co.jp/internet/database/closeup/CU20050122A/index.htm 以上よろしくお願いします。

  • Cプログラミング内でのPostgreSQLの利用について

    Cプログラムでのデータベース接続が出来ない事で質問です。 現在C言語で書いたプログラムがありまして、今まではwindows上でCSVファイルから読み込んで、 新しいファイルに書き込むというような内容のプログラム作っていました。 それを今は OSをLINUXのRedhat(teratermからアクセス) 読み込むデータファイルをデータベース(Postgresql) にしてやっています。 何とかDBをインストールして、DBにCSVファイルをコピーした物を作る所までは出来ました。 その後CプログラムでDBを利用する時、色んな設定をしてやらなくてはいけないと思うのですが まずlibpq-fe.hというものをincludeして使うとは分かったのですが、これがまず見つかりません。 質問(1) OSの中のファイルを探す時にコマンドで# find ~ -name libpq-fe.hとやったのですが間違っていますか? ちなみにあるとしたらどこにそのヘッダーファイルはありますか? 質問(2) インストールした手順としては日本PostgreSQLユーザ会のサイトからソースをダウンロードしてコンパイル、インストールを行いましたが、調べるとrpmと言うものを使ってインストールした人が同じような内容で質問していて、develを入れないとヘッダーファイルが 入らないという記述がありました。 その事は何か関係がありますか? 質問(3) libpq-fe.hが必要と書きましたが、他にもlibpq.soやlibpq.hと書いてあったりしてそこの所もよく分かりません。 記述が足りなかったらすいません。 ヒントでも良いので宜しくお願いします。

  • PostgreSQLサーバー構築について

    おはようございます。PostgreSQLを使ったクライアントサーバーシステムの構築について 質問です。 PC(A)にPostgreSQLをサイレントインストールを行って、DBも作成し、正常にDBが起動している 状態とします。 このとき、PC(B)にODBCドライバをインストールし、ODBC接続の設定を自動で作成する部分 を作成しようと考えています。 1台のPCに入れたときにはホスト名をlocalhostとすることで問題はありませんでしたが、 ほかのマシンにインストールしたとき、どのサーバーで(どのIPで?)PosegreSQLが動いているのか クライアント側から取得する方法がありましたら、教えていただきたいと思います。 OSについてはどちらもWindows系OSを考えております。 よろしくお願いします。

  • PHP+PostgreSQLを使ってPDFファイル管理DBを作成したい。

    現在、PostgreSQL+PHPでPDFファイル管理DBを作成したいと思っています。 開発環境は、 Solaris8 Apache1.3.12 PostgreSQL7.1.3 PHP-4.1.0 で行っています。 今、PostgreSQLのラージオブジェクトを使用してPDFファイルをDBに登録したいと考えております。 ここで、質問なのですがPDFファイルをDB登録するときにライブラリ等必要なものがありますでしょうか? また、PHP+PostgreSQLの環境で、PDF管理DBのサンプルがあったら教えていただけないでしょうか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • Javaでデータベース(PostgreSQL)に接続したいです

    学校でJavaの勉強をしています。この前、DB(PostgreSQL)に接続しました。 勉強のため、家のPCでもDBに接続できるようにしたいです。 自分で試してみましたが、上手くいかないので、知識をお持ちの方、どうかご教示ください。 ・Javaのバージョン     JDK1.5.08 ・PostgresSQLのバージョン  PostgresSQL8.2 ・OS               WindowsXP このサイト http://jdbc.postgresql.org/download.html から、postgresql-8.2-504.jdbc3をダウンロードしました。 ダウンロードしたファイルを、Program Files>Java>jdk1.5.0_08>jre>lib>ext と   Program Files>Java>jre1.5.0_08>lib>ext に 入れました。 (学校ではこのextというフォルダに入れていました。ちなみに学校のPCに入れたファイルは postgresql-jdbc3でした。) 学校の環境ではデータベースにアクセスできました。なので、SQL文とDBに接続するための Javaのコードは正しいと思います。 しかし実行すると、NullPointerException というエラーが出ます。 ファイルを入れた場所が間違っていると思うのですが、postgresql-8.2-504.jdbc3は どのフォルダに入れればよいのでしょうか。 解決する知識をお持ちの方、どうかご教示願います。 宜しくお願いいたします。

    • ベストアンサー
    • Java
  • PostgresqlのILIKEについて

    現在、PostgresqlのILIKEを用いて、あるDBに検索をかけています、 半角英字の場合は検索でうまくいくのですが、全角文字で検索をかけるとILIKEでうまく検索をかけてくれません。(動作がLIKEと同じ)。 他のDBだとILIKEは使えるのですが、検索をしたいDBではILIKEがつかえません。 これはDBのロケールの問題なのでしょうか? 大変お手数ですが、ご教授お願い致します。 検索対象DBのロケール:C Postgresqlのバージョン:9.3.13