Для начала необходимо пройти процедуру регистрации в https://console.firebase.google.com, а затем зайти в консоль.
Читать далее «Добавление Firebase Crashlytics в Android-проект»Генерация подписи для андроид приложения через интерфейс Android Studio
Для генерации APK с релизной подписью необходимо выбрать пункт меню Build -> Generate Signed Bundle / Apk (рисунок 1).
Читать далее «Генерация подписи для андроид приложения через интерфейс Android Studio»Используется ли функция в базе данных PostgreSQL
select proname, prosrc
from pg_proc
where prosrc like '%search text%';
Еще один способ логирования состояния сервера
В данной статье будет описан механизм мониторинга сервера. Суть мониторинга заключается в простом пробросе выходной информации на tcp-сервер, который ее в последствии и обработает:
- [remote server] — IP или доменное имя TCP сервера для обработки информации
- [port] — порт сервера
Каталог для хранения bash-скриптов находиться по адресу /var/lib/big-brother
Примечание: если нет такого каталога, то нужно его создать.
Читать далее «Еще один способ логирования состояния сервера»Создание временной таблицы в PostgreSQL
-- список ТУ заданной РЭС
create temp table t_registr_pts (
id uuid,
c_registr_pts text,
f_status_consume int,
b_technical_metering bool,
f_subscr uuid,
f_address uuid,
c_ps text,
c_line_ps text,
c_rp text,
c_line_rp text,
c_tp text,
c_line_tp text,
c_raion text,
c_city_name text,
c_settlement_name text,
c_street_name text
) on commit drop;
How to track query progress in PostgreSQL?
I found a good answer here: Tracking progress of an update statement
The trick is to first create a sequence (name it as you like):
CREATE SEQUENCE query_progress START 1;
Then append to your query’s WHERE part:
AND NEXTVAL('query_progress')!=0
Now you can query the progress:
SELECT NEXTVAL('query_progress');
Finally don’t forget to get rid of the sequence:
DROP SEQUENCE query_progress;
Note that this will most likely make your query run even slower and every time you check progress it will additionally increment the value. The above link suggested creating a temporary sequence but PostgreSQL doesn’t seem to make them visible across sessions.
Выполнение SQL в postgres
do $$ declare _f_user int = 63; -- это идентификатор пользователя из таблицы core.pd_users: 63 - Милютин, 59 - Телегин _d_date timestamptz = now(); _n_longitude numeric(19, 6) = 47.2279506; _n_latitude numeric(19, 6) = 56.1484872; _c_network_status text = 'online'; begin insert into core.ad_tracking (fn_user, d_date, n_longitude, n_latitude, c_network_status) values(_f_user, _d_date, _n_longitude, _n_latitude, _c_network_status); end; $$ language plpgsql;
Как узнать размер таблиц в postgresql
SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND C.relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size(C.oid) DESC LIMIT 100;
Поиск медленных запросов
Задача
Необходимо найти долговыполняющиеся запросы к базе данных.
Решение
Необходимо включить вывод в лог запросов, длительность которых больше заданной длительности.
Читать далее «Поиск медленных запросов»Обслуживание PostgreSql
Examples
In the examples below, [tablename] is optional. Without a table specified, VACUUM will be run on available tables in the current schema that the user has access to.
- Plain VACUUM: Frees up space for re-use
VACUUM [tablename]
- Full VACUUM: Locks the database table, and reclaims more space than a plain VACUUM
/* Before Postgres 9.0: */ VACUUM FULL /* Postgres 9.0+: */ VACUUM(FULL) [tablename]
- Full VACUUM and ANALYZE: Performs a Full VACUUM and gathers new statistics on query executions paths using ANALYZE
/* Before Postgres 9.0: */ VACUUM FULL ANALYZE [tablename] /* Postgres 9.0+: */ VACUUM(FULL, ANALYZE) [tablename]
- Verbose Full VACUUM and ANALYZE: Same as #3, but with verbose progress output
/* Before Postgres 9.0: */ VACUUM FULL VERBOSE ANALYZE [tablename] /* Postgres 9.0+: */ VACUUM(FULL, ANALYZE, VERBOSE) [tablename]Читать далее «Обслуживание PostgreSql»