The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Запустить PostgreSQL на бинарном data от старой установки, !*! Viaprog, 20-Мрт-06, 11:13  [смотреть все]
Здравствуйте.

Возникла такая проблема. От старой установки PostgreSQL 8.0.3 остались только её юинарный данные (содержимое $PGDATA). Дампов нет.

Теперь вот как вновьустановленному серверу их скормить? Ругается благим матом. 8.0.7.

Да, и было Linux теперь FreeBSD

# ./010.pgsql.sh start
FATAL:  could not create semaphores: No space left on device
DETAIL:  Failed system call was semget(5432004, 17, 03600).
HINT:  This error does *not* mean that you have run out of disk space.
        It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter (currently 100).
        The PostgreSQL documentation contains more information about configuring your system for PostgreSQL.

на чистой базе, созданной initdb всё ok...

  • Запустить PostgreSQL на бинарном data от старой установки, !*! INM, 13:07 , 20-Мрт-06 (1)
    >Здравствуйте.
    >
    >Возникла такая проблема. От старой установки PostgreSQL 8.0.3 остались только её юинарный
    >данные (содержимое $PGDATA). Дампов нет.
    >
    >Теперь вот как вновьустановленному серверу их скормить? Ругается благим матом. 8.0.7.
    >
    >Да, и было Linux теперь FreeBSD
    >
    ># ./010.pgsql.sh start
    >FATAL:  could not create semaphores: No space left on device
    >DETAIL:  Failed system call was semget(5432004, 17, 03600).
    >HINT:  This error does *not* mean that you have run out
    >of disk space.
    >        It occurs when either
    >the system limit for the maximum number of semaphore sets (SEMMNI),
    >or the system wide maximum number of semaphores (SEMMNS), would be
    >exceeded.  You need to raise the respective kernel parameter.  
    >Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter
    >(currently 100).
    >        The PostgreSQL documentation contains
    >more information about configuring your system for PostgreSQL.
    >
    >на чистой базе, созданной initdb всё ok...

    Самое надежное - это поставить PostgreSQL 8.0.3(без разницы под какой осью), сделать полный дамп и уже потом залить в новую версию.
    А вообще на их сайте что-то по этому поводу было, только вот точную ссылку дать не могу....

    • Запустить PostgreSQL на бинарном data от старой установки, !*! Viaprog, 14:13 , 20-Мрт-06 (2)
      >>Здравствуйте.
      >>
      >>Возникла такая проблема. От старой установки PostgreSQL 8.0.3 остались только её юинарный
      >>данные (содержимое $PGDATA). Дампов нет.
      >>
      >>Теперь вот как вновьустановленному серверу их скормить? Ругается благим матом. 8.0.7.
      >>
      >>Да, и было Linux теперь FreeBSD
      >>
      >># ./010.pgsql.sh start
      >>FATAL:  could not create semaphores: No space left on device
      >>DETAIL:  Failed system call was semget(5432004, 17, 03600).
      >>HINT:  This error does *not* mean that you have run out
      >>of disk space.
      >>        It occurs when either
      >>the system limit for the maximum number of semaphore sets (SEMMNI),
      >>or the system wide maximum number of semaphores (SEMMNS), would be
      >>exceeded.  You need to raise the respective kernel parameter.  
      >>Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter
      >>(currently 100).
      >>        The PostgreSQL documentation contains
      >>more information about configuring your system for PostgreSQL.
      >>
      >>на чистой базе, созданной initdb всё ok...
      >
      >Самое надежное - это поставить PostgreSQL 8.0.3(без разницы под какой осью), сделать
      >полный дамп и уже потом залить в новую версию.
      >А вообще на их сайте что-то по этому поводу было, только вот
      >точную ссылку дать не могу....

      А разве есть большая разница 8.0.3/8.0.7? Багфиксы ж вроде только. Да и не на это ругается оно.

      А вообще интересную вещь заметил: смотрю системные вызовы при помощи truss, в случае с базами из Linux - много системных вызовов на получение семафоров, причём на последнем обламывается, семафора не дают, и ругань идёт на No space left on device и всё вываливается.

      Если запустить на вновь созданной базе - никаких вызовов на получение семафоров не происходит.

      __semctl(0x2d0001,0xd,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0001,0xe,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0001,0xf,0x8,0xbfbfe1f0)            = 0 (0x0)
      semget(0x52e2c3,0x11,0x780)                      = 2949122 (0x2d0002)
      __semctl(0x2d0002,0x10,0x8,0xbfbfe1f0)           = 0 (0x0)
      semop(0x2d0002,0xbfbfe220,0x1)                   = 0 (0x0)
      __semctl(0x2d0002,0x0,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x1,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x2,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x3,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x4,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x5,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x6,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x7,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x8,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0x9,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xa,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xb,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xc,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xd,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xe,0x8,0xbfbfe1f0)            = 0 (0x0)
      __semctl(0x2d0002,0xf,0x8,0xbfbfe1f0)            = 0 (0x0)
      semget(0x52e2c4,0x11,0x780)                      ERR#28 'No space left on device'
      FATAL:  could not create semaphores: No space left on device
      DETAIL:  Failed system call was semget(5432004, 17, 03600).
      HINT:  This error does *not* mean that you have run out of disk space.
              It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded.  You need to raise the respective kernel parameter.  Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter (currently 100).

      Странное дело...

      • Запустить PostgreSQL на бинарном data от старой установки, !*! lion, 16:01 , 20-Мрт-06 (3)
        проскипано...          
        >= 0 (0x0)
        >semget(0x52e2c4,0x11,0x780)            
        >          ERR#28
        >'No space left on device'
        >FATAL:  could not create semaphores: No space left on device
        >DETAIL:  Failed system call was semget(5432004, 17, 03600).
        >HINT:  This error does *not* mean that you have run out
        >of disk space.
        >        It occurs when either
        >the system limit for the maximum number of semaphore sets (SEMMNI),
        >or the system wide maximum number of semaphores (SEMMNS), would be
        >exceeded.  You need to raise the respective kernel parameter.  
        >Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter
        >(currently 100).
        >
        >Странное дело...
        Я подобных экспериментов не проводил - всегда дампил-накатывал. Но если дело во FreeBSD и в семафорах, попробуй так:

        В postgresql.conf уменьшить число конектов до 5:
        max_connections = 5
        и запустить постгрес, если поднимется нормально, тогда надо перекомпилить ядро, добавив в конфиг:

        options         SHMMAXPGS=65536
        options         SEMMNI=40
        options         SEMMNS=240
        options         SEMUME=40
        options         SEMMNU=120
              
        Тогда можно увеличить количество коннектов.

        • Запустить PostgreSQL на бинарном data от старой установки, !*! Viaprog, 17:20 , 20-Мрт-06 (4)
          >проскипано...
          >>= 0 (0x0)
          >>semget(0x52e2c4,0x11,0x780)            
          >>          ERR#28
          >>'No space left on device'
          >>FATAL:  could not create semaphores: No space left on device
          >>DETAIL:  Failed system call was semget(5432004, 17, 03600).
          >>HINT:  This error does *not* mean that you have run out
          >>of disk space.
          >>        It occurs when either
          >>the system limit for the maximum number of semaphore sets (SEMMNI),
          >>or the system wide maximum number of semaphores (SEMMNS), would be
          >>exceeded.  You need to raise the respective kernel parameter.  
          >>Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter
          >>(currently 100).
          >>
          >>Странное дело...
          >Я подобных экспериментов не проводил - всегда дампил-накатывал. Но если дело во
          >FreeBSD и в семафорах, попробуй так:
          >
          >В postgresql.conf уменьшить число конектов до 5:
          >max_connections = 5
          >и запустить постгрес, если поднимется нормально, тогда надо перекомпилить ядро, добавив в
          >конфиг:
          >
          >options         SHMMAXPGS=65536
          >options         SEMMNI=40
          >options         SEMMNS=240
          >options         SEMUME=40
          >options         SEMMNU=120
          >
          >Тогда можно увеличить количество коннектов.


          Действительно помогло. Спасибо огромное!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру