안녕하십니까..
현제 pgsql 7.1.14를 사용하고 있습니다..
요즘 백업을 뜨다가.. 혹시나 해서..시험해보니.. 권한이 틀린.. 유저가..백업이 가능해서 말이죠...
요지는요...
$ psql -l
List of databases
Name | Owner | Encoding
-------------+----------------+----------
template0 | postgres | EUC_KR
template1 | postgres | EUC_KR
web_db | webuser | EUC_KR
web_testdb | webuser_dev | EUC_KR
(4 rows)
위와 같은 데이타 베이스가 존재하는데요..
$ id
uid=503(webuser_dev)
아래와 같이 pg_dump를 하면 정상적으로 덤프가 됩니다.
$ pg_dump web_testdb > db.sql
질문1.
그런데<패스워드를 물어보지 않네요..틀림없이 os유저랑 , db유저의 패스워드가 틀린데도, db유저랑/OS유저랑 같아서 그런가요? db랑 os상의유저는 별개라고 알고있는데요>
..
다시 위의 유저로 pg_dump를 이용해서 자신의 db가 아닌것을 백업을 뜨면 아래와 같은
정상적인 에러가 발생합니다. ---정상이라고 생각듭니다..제생각으로는
$ pg_dump web_db > db.sql
ERROR: permission denied for relation m_post
pg_dump: attempt to lock table "m_post" failed: ERROR: permission denied for relation m_post
질문2.
그런데 아래와 같은 pg_dump 옵션 U 사용하면 권한이 없는 db인데 백업을 해버리는데요.
$ pg_dump -U webuser web_db > db.sql
혹 webuser 유저의 db인증 패스워들 물오보면 좀 이해가 되는데..그것도 아니고 그냥 백업을 떠 버리네요..
마지막으로 pg_dump 옵션 u 형태로 소문자로 이용해서 실행하면, 유저명을 webuser해서 Password를 아무것이나 넣어도
덤프가 정상적으로 백업해버리는데요...
$ pg_dump -u webc_db > db.sql
User name: webuser
Password: 1234 (아무숫자나 넣어도,백업이 됨)
pgsql유저를 만들때 권한 설정이 잘못되었는지.. 왜 이런지 ..모르겠는데..
혹시 힌트라도 주시겠습니까.....
postgres는 db유저 생성시, os시스템 유저를 생성해야 하는가요..?
아래 유저경우에는 os상에는 유저가 존재하지만, pgsql상에는 유저가 없습니다.
$id
uid=510(web-mgr)
$ psql -l
FATAL: user "web-mgr" does not exist
psql: FATAL: user "web-mgr" does not exist
mysql이랑..조금 틀리네요...
|