[pgsql-jp: 35166] Re: CREATE TABLESPACEについての質問
K.Nakatsuka
tanpoko @ wk9.so-net.ne.jp
2005年 4月 4日 (月) 09:57:47 JST
中司と申します
On Mon, 4 Apr 2005 09:04:39 +0900
玉田 憲生 <tamada @ quantsresearch.com> wrote:
(all snip)
"上野さん"からフォローがついています。
ご確認されましたか。
############## ここから ################
On Sat, 02 Apr 2005 17:13:06 +0900
ueno @ crosstech.co.jp (上野 弘太) wrote:
> ソースコードを検索すると、エラーの該当箇所が見つけられます。
>
> ./src/backend/commands/tablespace.c
> ================================================================================
> void
> CreateTableSpace(CreateTableSpaceStmt *stmt)
> {
> /*
> * Attempt to coerce target directory to safe permissions. If this
> * fails, it doesn't exist or has the wrong owner.
> */
> if (chmod(location, 0700) != 0)
> ereport(ERROR,
> (errcode_for_file_access(),
> errmsg("could not set permissions on directory \"%s\": %m",
> location)));
> ================================================================================
>
> バックエンド側で chmod が失敗していますよね。
(snip)
> しかし、「許可が無い」というのもおかしいですよね。。。
> > /var/lib/pgsql/data2のパーミッションは
> > drwx------ 2 postgres postgres 4096 3月 31 09:23 data2
> 上記のパーミッションは、本当に postmasterが動作しているサーバーの状態なのでしょうか?
> あるいは、 postgres で、 postmasterが動作していないとか?(そんなことはないと思いますが、)
############## ここまで ################
上野さん御指摘の『postgres で、 postmasterが動作していないとか』がビンゴのような....
それと、違うオーナーの場所を指定して『CREATE TABLESPACE』を指定すると
ぴたり、同じ現象が発生しました。
#検証ミスです (^^; 。 (下名の知識の無さがバレバレですね.)
$> ls -laF
drwx------ 2 user1 user1 4096 Apr 4 09:45 user1/
psql# CREATE TABLESPACE data8 LOCATION '/pub/user1';
ERROR: could not set permissions on directory "/pub/user1": Operation not permitted
--
K.Nakatsuka
(tanpoko @ wk9.so-net.ne.jp)
pgsql-jp メーリングリストの案内