こんにちは
ただいま、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で質問しましょう!
似たような質問が見つかりました
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- 英語 この英文の意味を教えてください 3 2023/07/07 20:36
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- 英語 英文の添削をお願いします 4 2023/05/23 11:10
- 物理学 英語表現についてどうもわからないので教えて貰えないでしょうか? 具体的には以下の文の中でreflec 1 2023/04/29 20:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
createdbでいきなりつまづいて...
-
PostgreSQLについて教えてくだ...
-
PL/pgSQL 引数の数
-
Encoding変更
-
ヤフーショッピングでPayPay支...
-
ディスク上のサイズの乖離が大...
-
エクセルVBAでUWSCを使う
-
エクセルのデータをアクセスに...
-
pg_dumpでデータの引越し
-
AWSのcloud9で「 ls -l ~/.ssh/...
-
Windows上のPostgreSQLの完全削...
-
INSERT 0 1が大量に表示されて...
-
psql でのエラー出力について
-
アクセスで、OLEサーバーも...
-
テーブル単位のリストア
-
SQL: insert/importコマンドの違い
-
コマンドと関数の違い
-
ACCESSのレコードを削除しても...
-
BASP21送信エラーVB.NET
-
ソケットの異常終了について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
createdbでいきなりつまづいて...
-
PostgreSQLについて教えてくだ...
-
SJISのDBは作れますか?
-
PostgreSQLの再インストールに...
-
quoteした文字列を使ったSQL文...
-
DBで大文字小文字を区別せずINS...
-
PostgresSQLの環境設定について
-
PL/pgSQL 引数の数
-
\\copyコマンドでのCSV取り込み...
-
ログイン履歴
-
phpPgAdminの動作が重い
-
postgresのdatabase名と、そのe...
-
RDBとRDBMSの違いは何!?
-
PostgreSQLでデータベース名だ...
-
文字エンコーディングをEUC_JP...
-
initdbの文字コードと違う文字...
-
IDの払い出し(文字列)
-
phpPgAdminの使い方について
-
$postmasterが、うまくいきませ...
-
ヤフーショッピングでPayPay支...
おすすめ情報