こんにちは
ただいま、PostgreSQL7.2.3をインストール(Redhat7.3)し、これからpsqlを使い、SQL操作をしようとしていたところですが、psqlと入力すると "psql: FATAL 1: Database "postgres" does not exist in the system catalog."となります。
PostgreSQLのユーザは "postgres","nobody"です。
現在、postgresからpostmaster -Sで起動しています.
下記に端末で行った作業内容をコピーしてみました。
今回インストールの参考にした書籍は"PHPxPostgreSQLで作る最強Webシステム」石井達夫著です。この本の手順に従ったつもりですが、うまくいきません。
[postgres@www root]$ postmaster -S
[postgres@www root]$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
php | postgres | EUC_JP
template0 | postgres | EUC_JP
template1 | postgres | EUC_JP
(3 rows)
[postgres@www root]$ select dtname from php
bash: syntax error near unexpected token `from'
[postgres@www root]$ select dtname from template0
bash: syntax error near unexpected token `from'
[postgres@www root]$
[postgres@www root]$ psql select dtname from php
psql: warning: extra option from ignored
psql: warning: extra option php ignored
psql: FATAL 1: Database "select" does not exist in the system catalog.
[postgres@www root]$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+----------
php | postgres | EUC_JP
template0 | postgres | EUC_JP
template1 | postgres | EUC_JP
(3 rows)
[postgres@www root]$ psql
psql: FATAL 1: Database "postgres" does not exist in the system catalog.
No.3ベストアンサー
- 回答日時:
う~ん。
。これは勘違いだらけですね(^^;> psqlと入力すると "psql: FATAL 1(snip)
ただ単に、psqlとだけ入力すれば、そのユーザー名と同じ名前のDBが選択されたことになります。
つまり、
psql -n postgres と、DB名「postgres」が選択され、「そんなDBはないよ~」と言うエラーが出ているだけです。
> PostgreSQLのユーザは "postgres","nobody"です。
まあ、この辺りは、もう少し理解を深めればnobodyじゃなくなると思いますが、今のところこれでいいでしょう。。
(私も開発サーバーはnobodyのまま(^^;)
> 現在、postgresからpostmaster -Sで起動しています.
その本はいつの本ですか?
# おそらくバージョン6.5以前の本だと思いますが…
間違いではないですが、postmasterを直接コールするよりも、pg_ctlコマンドを使った方がいいですよ。
> [postgres@www root]$ psql -l
これの後に、ちゃんとリストが表示されているので、DB自体は起動できています。
> [postgres@www root]$ select dtname from php
これ以下は、その名前のDBを立ち上げてから行います。
つまり、
[postgres@www root]$ psql -n php
と入力すると、
Welcome to psql, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
php=#
と表示されます。
そこで先のコマンドを入力すればOKです。
と、ものすごく初心者のようですが、最初は誰でも初心者です。
頑張ってください!
ありがとうございました。
勘違いだったんですね.
おっしゃるとおりにしてみたら、ちゃんと動いていました.私のあたまが動いていませんでした。
No.2
- 回答日時:
あまり当てにしないでください。
だいぶ忘れかけています。postgresユーザで、環境変数などの設定は問題ないですよね!
.bash_profile
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="LD_LIBRARY_PATH":"$PGLIB"
を追加して、
$ source ~/.bashrc
を実行する。
データベースの初期化
$ initdb
Success. You can now start the database server using:
できれば、Regressテストを行う。
$ postmaster -S
$ cd /usr/local/src/postgres-7.2.3/src/test/regress
$ make all runtest
いくつかのSQLステートメントに故意にエラーをつくってあるので、エラーが発生します。
ちょっとダウンレベルのPSQLですので、多少異なるかも知れません。参考までに。
今日はこれで、寝ます。
あくまでも、参考例で、どのような場所に、PostgreSQLを導入したかで、ディレクトリィーは異なります。
ありがとうございました。
おっしゃる内容のテストをしましたら下記のような結果になりました。
これでOKでしょうか。
[postgres@www postgres]$ cd /usr/local/src/postgresql-7.2.3/src/test/regress
[postgres@www regress]$ make all runtest
sed -e 's,@bindir@,/usr/local/pgsql/bin,g' \
-e 's,@libdir@,/usr/local/pgsql/lib,g' \
-e 's,@pkglibdir@,/usr/local/pgsql/lib,g' \
-e 's,@datadir@,/usr/local/pgsql/share,g' \
-e 's/@VERSION@/7.2.3/g' \
-e 's/@host_tuple@/i686-pc-linux-gnu/g' \
-e 's,@GMAKE@,make,g' \
-e 's/@enable_shared@/yes/g' \
-e 's/@GCC@/yes/g' \
pg_regress.sh >pg_regress
chmod a+x pg_regress
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -I../../../src/i
nterfaces/libpq -I../../../src/include -c -o regress.o regress.c
gcc -shared -o regress.so regress.o
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' input/copy.source >sql/copy.sql
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' input/create_function_1.source >sql/create_function_1.sql
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' input/create_function_2.source >sql/create_function_2.sql
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' input/misc.source >sql/misc.sql
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' input/constraints.source >sql/constraints.sql
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' output/copy.source >expected/copy.out
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' output/create_function_1.source >expected/create_function_1.out
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' output/create_function_2.source >expected/create_function_2.out
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' output/misc.source >expected/misc.out
sed -e 's,@abs_srcdir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's
,@abs_builddir@,/usr/local/src/postgresql-7.2.3/src/test/regress,g' -e 's/@DLSUF
FIX@/.so/g' output/constraints.source >expected/constraints.out
make -C ../../../contrib/spi REFINT_VERBOSE=1 refint.so autoinc.so
make[1]: 入ります ディレクトリ `/usr/local/src/postgresql-7.2.3/contrib/spi'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -DREFINT_VERBOSE
-I. -I../../src/include -c -o refint.o refint.c
gcc -shared -o refint.so refint.o
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -DREFINT_VERBOSE
-I. -I../../src/include -c -o autoinc.o autoinc.c
gcc -shared -o autoinc.so autoinc.o
rm refint.o autoinc.o
make[1]: 出ます ディレクトリ `/usr/local/src/postgresql-7.2.3/contrib/spi'
/bin/sh ./pg_regress --schedule=./serial_schedule --multibyte=EUC_JP
(using postmaster on Unix socket, default port)
============== dropping database "regression" ==============
ERROR: DROP DATABASE: database "regression" does not exist
dropdb: database removal failed
============== creating database "regression" ==============
CREATE DATABASE
============== dropping regression test user accounts ==============
============== installing PL/pgSQL ==============
============== running regression test queries ==============
test boolean ... ok
test char ... ok
test name ... ok
test varchar ... ok
test text ... ok
test int2 ... ok
test int4 ... ok
test int8 ... ok
test oid ... ok
test float4 ... ok
test float8 ... ok
test bit ... ok
test numeric ... ok
test strings ... ok
test numerology ... ok
test point ... ok
test lseg ... ok
test box ... ok
test path ... ok
test polygon ... ok
test circle ... ok
test date ... ok
test time ... ok
test timetz ... ok
test timestamp ... ok
test timestamptz ... ok
test interval ... ok
test abstime ... ok
test reltime ... ok
test tinterval ... ok
test inet ... ok
test comments ... ok
test oidjoins ... ok
test type_sanity ... ok
test opr_sanity ... ok
test geometry ... ok
test horology ... ok
test create_function_1 ... ok
test create_type ... ok
test create_table ... ok
test create_function_2 ... ok
test copy ... ok
test constraints ... ok
test triggers ... ok
test create_misc ... ok
test create_aggregate ... ok
test create_operator ... ok
test create_index ... ok
test inherit ... ok
test create_view ... ok
test sanity_check ... ok
test errors ... ok
test select ... ok
test select_into ... ok
test select_distinct ... ok
test select_distinct_on ... ok
test select_implicit ... ok
test select_having ... ok
test subselect ... ok
test union ... ok
test case ... ok
test join ... ok
test aggregates ... ok
test transactions ... ok
test random ... ok
test portals ... ok
test arrays ... ok
test btree_index ... ok
test hash_index ... ok
test privileges ... ok
test misc ... ok
test select_views ... ok
test alter_table ... ok
test portals_p2 ... ok
test rules ... ok
test foreign_key ... ok
test limit ... ok
test plpgsql ... ok
test temp ... ok
======================
All 79 tests passed.
======================
rm regress.o
No.1
- 回答日時:
データベース名を指定しないといけません。
$psql [database名]
ですので、データベースphpを使用したいのでしたら、
[postgres@www root]$psql php
となるわけです。
select文にはデータベース名ではなくテーブル名を指定してやれば問題ありません。
また、SQL文の最後は「;(セミコロン)」で閉じてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PostgreSQLについて教えてくだ...
-
SJISのDBは作れますか?
-
PostgreSQLの再インストールに...
-
DBで大文字小文字を区別せずINS...
-
PL/pgSQL 引数の数
-
文字エンコーディングをEUC_JP...
-
PostgreSQLでデータベース名だ...
-
ディスク上のサイズの乖離が大...
-
階層型データベースとVSAM...
-
oracle spool SJIS → UTF-8
-
postgreSQL、pg_dumpのオプショ...
-
SQLServerへの接続子による違い...
-
CSVファイルをBULK INSERTでSQL...
-
ACCESSのフォームだけを起動す...
-
Query OK, 0 rows affected
-
リコーimagioneo630 エラーs...
-
Webサイト管理ツール
-
LinuxからWindowsへのリストア...
-
ファイルに記述されている複数...
-
ソケットの異常終了について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PostgreSQLについて教えてくだ...
-
createdbでいきなりつまづいて...
-
PostgreSQLの再インストールに...
-
PostgresSQLの環境設定について
-
PL/pgSQL 引数の数
-
quoteした文字列を使ったSQL文...
-
ログイン履歴
-
SJISのDBは作れますか?
-
\\copyコマンドでのCSV取り込み...
-
RDBとRDBMSの違いは何!?
-
DBで大文字小文字を区別せずINS...
-
PostgreSQLのpsqlでユーザの扱...
-
PostgreSQLでデータベース名だ...
-
PostgreSQLとmySQLのメリット、...
-
Redhat9 の PostgreSQL
-
データベースリストア時にエラ...
-
initdbの文字コードと違う文字...
-
保守にVACUUMは必要か?
-
時間のフォーマット
-
ラージオブジェクトについて
おすすめ情報