am 이라는 것은 access method 라는 것의 약자입니다. 이것은 주로 index 를 생성시 그 생성 방식을 결정하는 데 사용되는 일종의 알고리듬을 말합니다. PostgreSQL 의 경우 이 am 을 따로 본인이 프로그래밍하여 사용자 정의 am 으로 등록을 할수 있도록 되어 있으며, 기존에 이미 만들어진 am (주로 B/tree 방식)을 사용할 수도 있습니다. 그 이름이 am 이라고 된 것은 아마도 select 를 할때 index 를 해석하는 방식이라는 의미에서 am 이라고 한 것 같습니다.
그러므로 am 에러가 났다는 것은 어떤 원인으로 이 am 모듈을 올리지 못해 select 등의 작업시에 그 자료를 access 하지 못하는 경우를 말하는 경우가 대부분입니다. 일반적으로는 사용자가 그 am 을 정의하는 경우는 더문 경우이므로 어떤 불특정의 원인으로 pg_am 이라는 am 이 등록된 catalog 파일을 읽어 들이지 못할때 발생하는 경우가 많습니다.
해결 방법은 vacuum, daemon restart 그래도 해결되지 않으면 am 부분의 catalog 파일을 다른 디비로 부터 복사해 오는 방법이 있습니다. 그래도 안된다면 방법이 없지요. /./
::젠드사랑 님께서 쓰시길::
> 갑자기 원인모를 에러가 발생했습니다.
> 에러 메세지가 쭈~욱 뜨면서 마지막 부분에 pg_am 이라는 말이 나오더군요..
> 이것이 무엇에 관한 에러인지 알고 싶습니다.
> 문제의 해결은 vacuum을 써서 해결하지 않았고
> 단지 postgre데몬을 죽였다가 살리니 되더군요...
> 그럼.. 부탁드립니다.
|