четверг, 26 марта 2015 г.

Создание бэкапа в PostgreSQL без ввода пароля

В windows бэкап можно организовать следующим способом:

set day=%DATE:~0,2%
set month=%DATE:~3,2%
set year=%DATE:~6,4%
set YYYYMMDD=%year%%month%%day%

SET PGPASSWORD=password

"C:\Program Files\PostgreSQL\9.2\bin\pg_dump.exe" -U user_name -E UTF8 --no-owner postgres > "D:\BACKUP\%YYYYMMDD%.backup"

где user_name — имя пользователя БД, password — пароль пользователя. Путь к pg_dump.exe может быть другим, в зависимости от установки.

Причем имя бэкапа будет в хорошем формате, например 20150326.backup

Восстановление из бэкапа в PostgreSQL

В случае с Windows команда следующая:

"C:\Program Files\PostgreSQL\9.2\bin\psql.exe" -h localhost -U user_name -d postgres -p 5432 < "path_to_backup"

где user_name — имя пользователя БД, path_to_backup — полный путь к файлу с бэкапом. Путь к psql.exe может быть другим, в зависимости от установки.

понедельник, 16 февраля 2015 г.

Как в Windows 7 записать выполняемые действия?

Оказывается в семерке есть встроенная утилита psr, которая позволяет записывать все действия с интерфейсом в виде скриншотов, которые она зипует в mht архив.

четверг, 15 января 2015 г.

Корректное закрытие Excel в приложении на C#

Если вы заметили, что после закрытия приложения в процессах висит процесс Excel, значит вы не правильно закрываете книгу Excel. Вот корректный вариант:

_excelAppWorkBook.Close(0);
_excelApp.Quit();

где:

_excelAppWorkBook — конкретная книга;
_excelApp — приложение Excel.

четверг, 8 января 2015 г.

Как определить версию Oracle?

SELECT * FROM v$version;

Данный запрос вернет полное название версии СУБД Oracle, включая битность.

Ошибка ora-01017

При попытке подключения к БД:

sqlplus / nolog
conn / as sysdba

появляется ошибка ora-01017, но в тоже время при явном указании имени пользователя и пароля ошибки нет (conn SYS/SYSPASS @DB_NAME as sysdba).

Ошибка может быть из-за того, что текущий системный пользователь не находится в группе ora_dba.

Полезные команды для анализа состояния СУБД Oracle

Статус базы данных (из sqlplus):
select status from v$instance;

Статус прослушивателя (из cmd):
lsnrctl status

Статус консоли (из cmd):
emctl status dbconsole

вторник, 6 января 2015 г.

Как в python преобразовать строку в дату?

import datetime

d = datetime.datetime.strptime("18.03.2013", "%d.%m.%Y")

В примере выше строка "18.03.2013" преобразуется в дату, по указанному формату "%d.%m.%Y".

понедельник, 29 декабря 2014 г.

Gem::RemoteFetcher::FetchError

При запуске Web-сервера возникла следующая ошибка:

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/gems/rake- 10.4.2.gem)

Для лечения необходимо в Gemfile заменить:

source 'https://rubygems.org'

на

source 'http://rubygems.org'

четверг, 11 декабря 2014 г.

Как в rails исключить первый элемент в итераторе each?

Конструкция довольно простая:

<% documents[1..-1].each do |document| %>

где documents — коллекция элементов. Действие происходит в шаблоне. Если в конструкции вместо [1..-1] указать [1..-2], то мы исключим и первый и последний элемент.

вторник, 9 декабря 2014 г.

FATAL: 28000: no pg_hba.conf entry for host "a.b.c.d"

Ошибка возникает при попытке подключения к БД, указав в качестве имени хоста его IP-адрес, с другого компьютера в сети.

Для лечения ошибки необходимо в файл pg_hba.conf добавить строку:

host all all a.b.c.d/24 md5

где a.b.c.d — IP-адрес компьютера с СУБД PostgreSQL.

В конце нужно перезапустить службу postgresql-x64-9.2 и все должно заработать.

четверг, 4 декабря 2014 г.

Автоинкремент билда в C#

Для добавления номера билда в программу на C# необходимо:

В файле AssemblyInfo.cs:

[assembly: AssemblyVersion( "1.0.*" )]
[assembly: AssemblyFileVersion( "1.0.*" )]

Затем в нужном месте считываем номер билда:

Assembly.GetExecutingAssembly().GetName().Version.ToString()

и он при каждой компиляции будет увеличиваться.