[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 メーリングリストの案内