The OpenNET Project / Index page

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

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

"PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной email on 22-Окт-07, 21:16 
Порты:

postgresql80-server
postgresql80-client
pam-pgsql


Ось:

FreeBSD 6.2

Суть в чем. При запускe 010.pgsql.sh (без разницы, через Rc.d или вручную) он создает 100 процессов sh от имени юзеров operator и pgsql, сжирая память и свап за 10 сек. В итоге система валится с ошибкой "swap_pager_getswapspace: failed" - за секунду до этого top показывает 100% загрузку памяти, свапа и камня.

Вопрос. Где грабли?

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

 Оглавление

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


1. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Answer on 22-Окт-07, 22:18 
Что за файл 010.pgsql.sh?


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

2. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной email on 22-Окт-07, 22:32 
>Что за файл 010.pgsql.sh?

/usr/local/etc/rc.d/101.pgsql.sh

стартует сам sql при загрузке либо по запросу
создается инсталлером порта

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

3. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Answer on 23-Окт-07, 00:17 
1. Вы уверены что говорите про 6.2?
2. В исходниках данного файла нет, в дереве портов - тоже, в списке устанавливаемых файлов (/usr/ports/databases/postgresql80-server/pkg-plist-server) поныне.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной email on 23-Окт-07, 10:20 
>1. Вы уверены что говорите про 6.2?
>2. В исходниках данного файла нет, в дереве портов - тоже, в
>списке устанавливаемых файлов (/usr/ports/databases/postgresql80-server/pkg-plist-server) поныне.

Cам удивился, но факт есть факт, при сборке сервера сей файл появляется в /usr/local/etc/rc.d/ и исполняется при загрузке системы.

Именно этот порт, да.

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

5. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Answer on 23-Окт-07, 16:11 
Скиньте сюда содержимое.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной email on 23-Окт-07, 17:46 
>Скиньте сюда содержимое.

#!/bin/sh

# $FreeBSD: ports/databases/postgresql80-server/files/pgsql.sh.tmpl,v 1.22 2006/05/23 21:18:58 girgen Exp $
#
# PROVIDE: postgresql
# REQUIRE: LOGIN
# KEYWORD: shutdown
<comment skip>

prefix=/usr/local

. /etc/rc.subr
command=${prefix}/bin/pg_ctl

load_rc_config postgresql

# set defaults
postgresql_enable=${postgresql_enable:-"NO"}
postgresql_flags=${postgresql_flags:-"-w -s -m fast"}
postgresql_user=pgsql
eval postgresql_data=${postgresql_data:-"~${postgresql_user}/data"}
postgresql_class=${postgresql_class:-"default"}

name=postgresql
rcvar=`set_rcvar`
command_args="-D ${postgresql_data} ${postgresql_flags}"
extra_commands="reload initdb"


start_cmd="postgresql_command start"
stop_cmd="postgresql_command stop"
restart_cmd="postgresql_command restart"
reload_cmd="postgresql_command reload"
status_cmd="postgresql_command status"

initdb_cmd="postgresql_initdb"

postgresql_command()
{
    su -l ${postgresql_user} -c "exec ${command} ${command_args} ${rc_arg}"
}

postgresql_initdb()
{
    su -l -c ${postgresql_class} ${postgresql_user} -c "exec ${prefix}/bin/initdb -D ${postgresql_data}"
}

run_rc_command "$1"

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

7. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Answer on 24-Окт-07, 21:30 
Все верно. Копайте под пользователя operator - каким боком он там всплывает?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной on 24-Окт-07, 21:50 
>[оверквотинг удален]
>
>FreeBSD 6.2
>
>Суть в чем. При запускe 010.pgsql.sh (без разницы, через Rc.d или вручную)
>он создает 100 процессов sh от имени юзеров operator и pgsql,
>сжирая память и свап за 10 сек. В итоге система валится
>с ошибкой "swap_pager_getswapspace: failed" - за секунду до этого top показывает
>100% загрузку памяти, свапа и камня.
>
>Вопрос. Где грабли?

up.

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

9. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от pavel_simple (ok) on 24-Окт-07, 22:37 
я пожалуй попробую предложить совсем не политкорректный способ
1 15-30 мин установка и настройка Debian
2 +10 мин установка и настройка postgresql
3 + ~ 10 минут на перенос данных
4 + 10 минут проверка
итого около 60 мин

есть ещё способ
найти серез форум товарища с ником johnjoy и очччень его попросить -- но в вашем случае я сомневаюсь что он станет вам помогать ... но , чего только в жизни не бывает

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

10. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной on 24-Окт-07, 23:11 
>[оверквотинг удален]
>1 15-30 мин установка и настройка Debian
>2 +10 мин установка и настройка postgresql
>3 + ~ 10 минут на перенос данных
>4 + 10 минут проверка
>итого около 60 мин
>
>есть ещё способ
>найти серез форум товарища с ником johnjoy и очччень его попросить --
>но в вашем случае я сомневаюсь что он станет вам помогать
>... но , чего только в жизни не бывает

Способ не лишен смысла, НО pgsql используется в связке с другим ПО. И никакого желания переносить связку из 10 программ на другую ОС, предварительно скачав и ОС и и linux версии программ у меня нет. А при условии того, что железо - p2mmx, 128ram, 7gb HDD, и с Дебианом я работал только поверхностно, решение становится нереальным.

И вообще, вам не кажется, что сие - оффтоп?

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

11. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Answer on 25-Окт-07, 00:06 
Нет - это нелешенное смысла предложение, если вы не хотите подумать сами - дебиан вам в руки. У вас где-то возникает цикл в шелловском скрипте с форком внутри и аномальное свечение пользователя оператор. Отталкиваясь от этого и знания что стартовые скрипты не форкуют за демона, могу предложить вам не еать мозг окружающим и вспомнить где-что писали, либо вывалить сюда всю инсталляционную байду, включая: содержимое rc.conf, строки файла /etc/master.passwd для pgsql и operator, потереть все файлы в домашнем каталоге юзера pgsql, начинающиеся с '.' (.profile, etc), ..., после запуска стартового скрипта сделать pstree (из портов) и/или ps -auxw.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "PostgreSQL 8.0 + FreeBSD = грабли"  
Сообщение от Иной on 25-Окт-07, 00:26 
>Нет - это нелешенное смысла предложение, если вы не хотите подумать сами
>- дебиан вам в руки. У вас где-то возникает цикл в
>шелловском скрипте с форком внутри и аномальное свечение пользователя оператор. Отталкиваясь
>от этого и знания что стартовые скрипты не форкуют за демона,
>могу предложить вам не еать мозг окружающим и вспомнить где-что писали,
>либо вывалить сюда всю инсталляционную байду, включая: содержимое rc.conf, строки файла
>/etc/master.passwd для pgsql и operator, потереть все файлы в домашнем каталоге
>юзера pgsql, начинающиеся с '.' (.profile, etc), ..., после запуска стартового
>скрипта сделать pstree (из портов) и/или ps -auxw.

Угу. Только ларчик открывается проще. Кудааа проще. В моей ситуации - обновить порты до свежайших. Тогда он ставит pgsql на одну версию старше, который прекрасно работает :))))

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

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

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




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

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