phpPgAdmin — дампы, безопасность и FAQ
Экспорт и импорт
phpPgAdmin вызывает внешние утилиты PostgreSQL (пути задаются в config.inc.php).
| Утилита | Назначение |
|---|---|
| pg_dump | Одна база, таблица или схема |
| pg_dumpall | Все базы + глобальные объекты (роли) |
Типичные опции в UI (по версии):
- только структура, только данные, или оба;
- SQL или custom format;
- для дампа данных — учёт
datestyleиextra_float_digits(исторически важно для точности float в выгрузках).
Импорт SQL
Вкладка Импорт принимает .sql файл. Ограничения те же, что у phpMyAdmin: upload_max_filesize, post_max_size, max_execution_time, memory_limit.
Обход: выполнить дамп через консоль:
psql -h 127.0.0.1 -U postgres -d shop -f backup.sql
или
pg_restore -d shop backup.dump
для custom format.
Большие дампы
| Проблема | Решение |
|---|---|
| Таймаут HTTP | Увеличить max_execution_time, импорт через psql |
| Память | Импорт из CLI, разбивка дампа |
open_basedir | Каталог загрузки в разрешённом пути (аналог TempDir в phpMyAdmin) |
Безопасность
| Мера | Зачем |
|---|---|
Require local / firewall | Не публиковать /phppgadmin в интернет |
| Сильные пароли ролей | SCRAM в pg_hba |
| Отдельная роль приложения | Без SUPERUSER для повседневной работы |
| HTTPS | Защита пароля при cookie/форме |
| Актуальный PHP | В 7.12 закрывали Reflected XSS — обновляйте сборку |
| Минимальные права на config | config.inc.php недоступен для скачивания |
На shared-хостинге (идеи из истории 3.0-beta): скрытие админ-разделов для не-суперпользователей, фильтр «owned databases only».
phpPgAdmin и pgAdmin 4
| phpPgAdmin | pgAdmin 4 | |
|---|---|---|
| Стек | PHP + веб-сервер | Python/Electron, веб-режим |
| Включение в XAMPP | Редко | Отдельная установка |
| Активность | Релизы реже после 2020 | Основной GUI PG |
| Функции | SQL, дампы, роли | Расширенный мониторинг, графики, ERD |
В Open Server для PostgreSQL документация панели указывает pgAdmin и psql — phpPgAdmin ставят при необходимости вручную.
FAQ — типичные ситуации
PHP does not support PostgreSQL
Расширение pgsql не загружено. Установите php-pgsql, раскомментируйте extension=pgsql в php.ini, перезапустите веб-сервер.
Could not connect to server
- PostgreSQL не запущен;
- неверный
host/portв config; pg_hba.confне разрешает IP PHP-хоста;- firewall блокирует 5432.
pg_dump not found
Укажите полные пути в $conf['servers'][i]['pg_dump_path'] и pg_dumpall_path (Windows — .exe в каталоге PostgreSQL OSP).
Cannot connect to template1
Задайте $conf['servers'][0]['defaultdb'] = 'postgres'; если template1 недоступна политикой хостинга (см. HISTORY 3.0-rc-2).
Пустая страница / ошибки после входа
Проверьте лог PHP и PostgreSQL; несовместимость PHP 8 со старым phpPgAdmin без патчей — попробуйте форк/community-ветку или pgAdmin.
Сортировка сбрасывает на структуру таблицы
Исправлялось в 7.13.0 — обновите версию phpPgAdmin.
bytea и бинарные поля
Исторически были баги отображения и UPDATE; для критичных данных проверяйте через psql или обновляйте релиз.
См. также
- phpPgAdmin — о разделе
- История phpMyAdmin и phpPgAdmin
- phpMyAdmin — импорт и FAQ
- PostgreSQL — установка и pgAdmin
- Резервное копирование SQL
- Бэкапы и Wal-G — 8.11
- Практикум PostgreSQL — о разделе
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Веб-админка PostgreSQL на PHP: архитектура, pgsql, отличия от phpMyAdmin, Debian, Docker и локальные стеки. PHP с pgsql, PostgreSQL 9.3+, config.inc.php, pg_hba.conf, listen_addresses и несколько серверов. Схемы PostgreSQL, таблицы, sequences, роли, вкладка SQL и отличия DDL/DML от MySQL в phpPgAdmin.phpPgAdmin — что это и где встретить
phpPgAdmin — требования, установка и подключение
phpPgAdmin — SQL, DDL и DML