Posrgresqlの管理のために、su postgresが通らない。
sudo su postgress
とsudo すればいけた。
apt-get で postgresがどこにインストールされたのかよくわからない。ちゃんと設定見ておけば良かった。
createdbなどのコマンドは/usr/binにみつけた
clusterdb -> ../share/postgresql-common/pg_wrapper createdb -> ../share/postgresql-common/pg_wrapper createlang -> ../share/postgresql-common/pg_wrapper createuser -> ../share/postgresql-common/pg_wrapper dropdb -> ../share/postgresql-common/pg_wrapper droplang -> ../share/postgresql-common/pg_wrapper dropuser -> ../share/postgresql-common/pg_wrapper pg_dump -> ../share/postgresql-common/pg_wrapper pg_dumpall -> ../share/postgresql-common/pg_wrapper pg_restore -> ../share/postgresql-common/pg_wrapper psql -> ../share/postgresql-common/pg_wrapper reindexdb -> ../share/postgresql-common/pg_wrapper vacuumdb -> ../share/postgresql-common/pg_wrapper vacuumlo -> ../share/postgresql-common/pg_wrappe
とすべて、pg_wrapperなるもにリンクされている。なんだこれは?気味が悪いので内容を確認。
pg_wrapperの中を見てみた
#!/usr/bin/perl -w # Call a PostgreSQL client program with the version, cluster and default # database specified in ~/.postgresqlrc or # /etc/postgresql-common/user_clusters. # # (C) 2005 Martin Pitt <mpitt@debian.org> use strict; use lib '/usr/share/postgresql-common'; use PgCommon; my ($version, $cluster, $db, $port, $host); $host = $ENV{'PGHOST'}; # Check for PGCLUSTER in %ENV if (defined $ENV{'PGCLUSTER'}) { ($version, $cluster) = split ('/', $ENV{'PGCLUSTER'}, 2); error 'Invalid version specified with $PGCLUSTER' unless version_exists $version; error 'No cluster specified with $PGCLUSTER' unless $ ....(以下略)...
ここまできて、initdbの所在が不明。
initdbはapt-get後にしてくれているのだろうか。postgresユーザーが出来ているからダイジョウブだと思うが。DBが作成されるディレクトリを変更したいねん。もう少し調べてみる