powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите начинающему, пожалуйста.
7 сообщений из 7, страница 1 из 1
Помогите начинающему, пожалуйста.
    #34514347
Grande
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые знатоки!
Есть у меня база на PostgreSQL. Понадобилось сделать бэкап. Пошукал в инете и нашел функции для этого. Функции прикрутил, но для работы бэкапа прилагается программулина на языке plpgsql.
Подскажите, пожалуйста, что с ней делать-то? Куда впихнуть?
Спасибо.
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514386
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не оч понял о каких функциях и програмулинах речь - но вообще в постгресе для этих целей идут утилиты pg_dump & pg_restore. http://www.linuxshare.ru/postgresql/manual/backup.html
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514403
Grande
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aov:
Есть прога на plpgsql. А делать-то с ней что?
Вот исходник:
function db_backup($filename,$mode="f") {
$link=$GLOBALS['link'];
$open=$mode."open";
$write=$mode."write";
$close=$mode."close";
$fh=call_user_func($open,$filename,"wb");
$output.= "-- Dump of database ".$GLOBALS['DBname']." from forum \"".$GLOBALS['opt_title']."\"\n";
$output.= "-- Time of dump: ".date("l, d F Y G:i:s")."\n";
$output.= "-- \n\n\n";

$ddl="SELECT show_ddl_db()";
$query=db_query($ddl,$link);
while ($row=pg_fetch_row($query)) {
$output .= $row[0];
}
$output.="\n";
call_user_func($write,$fh,$output);

$tbl = db_table();
$tablequery = db_query($tbl,$link);
if (!$tablequery) error(MSG_e_dump_tables);
while ($table=pg_fetch_row($tablequery)) {
$output .= "\n\n-- Table ".$table[0]." data:\n";
$query = pg_query("SELECT * FROM $table[0]");
$count = pg_num_fields($query);
while ($row=pg_fetch_row($query)) {
unset($output);
$output .= "INSERT INTO $table[0] VALUES (";
for ($i=0; $i<$count; $i++) {
if (isset($row[$i])) {
if ($blobs[$table[0]][$i]==1) {
$output .= "0x";
$len=strlen($row[$i]);
for ($j=0; $j<$len; $j++) $output.=dechex(ord($row[$i][$j]));
}
else {
$row[$i]=str_replace("\n","\\n",mysql_real_escape_string($row[$i]));
$output .= "'".$row[$i]."'";
}
} // WARNING!!!
else $output .= "NULL";
if ($i<($count-1)) { $output .= ","; }
}
$output .= ");\n";
call_user_func($write,$fh,$output);
}
}
call_user_func($close,$fh);
}
function db_table() {
return "SELECT pt.relname AS Name ".
"FROM pg_catalog.pg_class pt ".
" LEFT JOIN pg_catalog.pg_roles r ON r.oid = pt.relowner ".
" LEFT JOIN pg_catalog.pg_namespace pn ON pn.oid = pt.relnamespace ".
" WHERE pt.relkind IN ('r','') ".
" AND pt.relname NOT LIKE ('pg_ts_%') ".
" AND pn.nspname NOT IN ('pg_catalog', 'pg_toast') ".
" AND pt.relname LIKE ('".$GLOBALS['DBprefix']."%') ".
" AND pg_catalog.pg_table_is_visible(pt.oid) ";
}
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514410
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю - груз конкретный. чем дамп/рестор то не устраивает? там оч всё просто. настоящие герои всегда идут в обход? :)
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514417
Grande
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не в этом дело. Пишу прогу на билдере и хочу дампить базу, не заходя на сервер, программно.
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514468
Grande
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хех, да это ж на PHP :-)
...
Рейтинг: 0 / 0
Помогите начинающему, пожалуйста.
    #34514583
Фотография aov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я под виндой токо делал - дамп/рестор. тоже из программы делал - шелом запускал эти утилиты. не знаю как в пхп и под линуксом - но мне кажется там тоже так как-то можно. даже скорее всего ещё проще там - так как это его родная среда обитания :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите начинающему, пожалуйста.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]