Показаны сообщения с ярлыком postgres. Показать все сообщения
Показаны сообщения с ярлыком postgres. Показать все сообщения

13 декабря 2010 г.

Postgers SQL: Как определить существует поле в таблице или нет?

Вот короткий запрос для определения существует ли необходимое поле в таблице postgres:

SELECT attname FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class 
WHERE relname = 'ИМЯ_ТАБЛИЦЫ') AND attname = 'ИМЯ_КОЛОНКИ';

Если в результате выполнения запроса возвращается строка - столбец с таким именем существует, в противном случае это не так.

16 сентября 2010 г.

Как скачать дамп базы данных имея доступ по ftp?

Столкнулся с задачей, когда доступ к файлам проекта открыт только по ftp, при этом база данных находиться на другом сервере и доступ к ней ограничен. Возник вопрос: возможно ли получить дамп базы имея доступ по ftp?
Ответ очень прост: “Всё возможно верующему” (Евангелие от Марка 9:14-29)


Итак, что нам нужно будет сделать:


Шаг 1. Загружаем и устанавливаем последнюю версию программы EMS SQL Manager (http://www.sqlmanager.net/)


Шаг 2. В папке установленной программы (обычно c:\Program Files\EMS\SQL Manager for MySQL\) находим скрипт emsproxy.php и копируем его на наш хост по ftp. Единственное условие - чтобы была возможность прямого обращения к скрипту через УРЛ (напр.: http://www.myhost.com/emsproxy.php).

Шаг 4. Запускаем EMS SQL Manager и регистрируем новый хост ():
Указываем где установлена БД (ip-адрес или localhost - если доступно на том же сервере), а также логин и пароль для доступа к базе данных.
Соглашаемся использовать туннелирование (ставим галочку Use tunneling) и выбираем HTTP протокол для этого дела (HTTP tunneling). Далее...
Указываем URL к скрипту.
Далее...
Выбираем нужную нам базу данных.
Далее... переходим к следующему окну и заканчиваем (Finish).

Шаг 5. Делаем экспорт данных нашей базы.
Здесь все очень просто. В главном меню выбираем Tools > Extract Database, выбираем нужную базу и сохраняем в файл (не забыв при этом поставить галочку в поле Extract all metadata and data of the database).

С задачей справились - дамп получен. Помимо дампа, теперь имеем возможность управлять удаленной базой данных, что весьма и весьма полезно :)

P.S. Если на удаленном сервере используется СУБД Postgres можно аналогичным способом добыть доступ к БД используя программу SQL Manager for Postgres