The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Запустить PostgreSQL на бинарном data от старой установки"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Запустить PostgreSQL на бинарном data от старой установки"  
Сообщение от Viaprog email on 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...

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Запустить PostgreSQL на бинарном data от старой установки"  
Сообщение от INM email(??) on 20-Мрт-06, 13:07 
>Здравствуйте.
>
>Возникла такая проблема. От старой установки 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(без разницы под какой осью), сделать полный дамп и уже потом залить в новую версию.
А вообще на их сайте что-то по этому поводу было, только вот точную ссылку дать не могу....

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "Запустить PostgreSQL на бинарном data от старой установки"  
Сообщение от Viaprog email on 20-Мрт-06, 14: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 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).

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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "Запустить PostgreSQL на бинарном data от старой установки"  
Сообщение от lion (??) on 20-Мрт-06, 16:01 
проскипано...          
>= 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
      
Тогда можно увеличить количество коннектов.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "Запустить PostgreSQL на бинарном data от старой установки"  
Сообщение от Viaprog email on 20-Мрт-06, 17:20 
>проскипано...
>>= 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
>
>Тогда можно увеличить количество коннектов.


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

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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