PostgreSQL에서 새로 지원되는 tablespace 생성이 되지 않아서 질문
드립니다.
혹시 성공하신 분 있으시면 도와주세요.
서버의 Message
[root@astbox ~]# su - postgres
-bash-3.00$ psql template1
Welcome to psql 8.1.4, the PostgreSQL interactive
terminal.
Type: \copyright for distribution
terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
template1=# CREATE TABLESPACE astdt OWNER
postgres LOCATION '/opt/astdt';
ERROR: could not set permissions on directory "/opt/astdt":
Permission denied
template1=#
디렉토리환경
[root@astbox opt]#
ls -al
total 48
drwxr-xr-x 5 root root 4096 Jun 30 16:41 .
drwxr-xr-x 24 root root 4096 Jul 5 17:04 ..
drwx------ 2 postgres postgres 4096 Jul 6 18:50 astdt
drwx------ 2 postgres postgres 4096 Jun 30 16:41 astix
drwx------ 2 root root 16384 Jun 1 19:47
lost+found
프로세스
[root@astbox opt]#
ps -ef|grep post
postgres 16589 1 0 18:21 ? 00:00:00 /usr/bin/postmaster
-p 5432 -D /var/lib/pgsql/data
postgres 16591 16589 0 18:21 ? 00:00:00 postgres: logger
process
postgres 16593 16589 0 18:21 ? 00:00:00 postgres: writer
process
postgres 16594 16589 0 18:21 ? 00:00:00 postgres: stats
buffer process
postgres 16595 16594 0 18:21 ? 00:00:00 postgres: stats
collector process
서버 환경은 Linux Fedora Core 4 이고 PostgreSQL 버전은 다운로드
사이트에서 rpm binary버전을 다운로드하여 postgresql-8.1.4-1PGDG
외에 server등 5가지 rpm 모두 install하였습니다.
문서에 테이블 스페이스를 생성하려는 디렉토리가 postmaster를
실행하는 user인 postgres로 되어 있어야 한다고 되어있어 전부
맞추어준 것 같은데 여전히 "permission denied" 가 떨어지고
있습니다.
소스에서 확인하여 보면 "create table space" 명령이 내부적으로
"chmod 0700 [directory명]" 을 하고 있어 postgres user로 "chmod 0700
/opt/astdt" 명령을 주면 되거든요.
제가 뭘 몰라서 그러는지, 왜 안되는지 궁금해 미치겠습니다.
|