pip install -i https://mirrors.aliyun.com/pypi/simple/ fastapi==0.104.1
Сборка plv8 для PostgreSQL
sudo apt-get install -y \
build-essential \
postgresql-server-dev-16 \
cmake \
ninja-build \
python3 \
pkg-config \
libtinfo5 \
libc++-dev \
libc++abi-dev \
libv8-dev \
curl \
git \
wget
# Скачайте и соберите plv8
git clone https://github.com/plv8/plv8.git
cd plv8
make
sudo make install
Если будет ошибка при запуске: https://github.com/plv8/plv8/issues/571
ERROR: загрузить библиотеку "/usr/lib/postgresql/16/lib/plv8-3.2.4.so" не удалось: /usr/lib/postgresql/16/lib/plv8-3.2.4.so: undefined symbol: _ZTIN2v84base6ThreadE
ОШИБКА: загрузить библиотеку "/usr/lib/postgresql/16/lib/plv8-3.2.4.so" не удалось: /usr/lib/postgresql/16/lib/plv8-3.2.4.so: undefined symbol: _ZTIN2v84base6ThreadE
SQL state: 58P01
Просмотр статистики активных запросов в PostresSQL
-- Показывает размеры таблиц, участвующих в запросах
WITH table_sizes AS (
SELECT
schemaname,
tablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) as size
FROM pg_tables
WHERE schemaname NOT LIKE 'pg_%' AND schemaname != 'information_schema'
)
SELECT
a.pid,
a.usename,
a.datname,
a.query,
a.state,
-- Можно добавить JOIN с table_sizes если знаете какие таблики используются
now() - a.query_start as duration
FROM pg_stat_activity a
WHERE a.state = 'active'
AND a.query NOT LIKE '%pg_stat_activity%';
Полное удаление файла из репозитория GIT
# Удалить файл из всей истории (осторожно!)
git filter-branch --tree-filter 'rm -f имя_файла' HEAD
Восстановление grub загрузчика по умолчанию
На ПК были одновременно установлены Ubuntu 22.04 и Windows 10. После обновления Windows 10 до 11 загрузчик сломался и выдавал ошибку.
Примечание: скриншота нет под рукой, но ошибка говорила, что загрузка не возможна требуется восстановление (и это всё на синем экране windows).
Мне помогло следующее решение.
Читать далее «Восстановление grub загрузчика по умолчанию»Практическое применение elasticsearch+fluent-bit
Данная связка будет применяться для хранения логов от приложений. Ниже пример compose файла:
version: "3.5"
services:
elasticsearch:
image: elasticsearch:8.19.3
ports:
- "9200:9200"
- "9300:9300"
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
- xpack.security.enabled=false # Disable security for development
volumes:
- ./elasticsearch/data:/usr/share/elasticsearch/data
- ./elasticsearch/logs:/usr/share/elasticsearch/logs
fluentbit:
build: .
ports:
- "8888:8888"
- "24224:24224"
- "24224:24224/udp"
depends_on:
- elasticsearch
Читать далее «Практическое применение elasticsearch+fluent-bit» Elasticsearch — основные команды
Термины
- localhost:9200 — адрес для доступа к elasticsearch
Команды
Проверка доступности:
curl -X GET localhost:9200Читать далее «Elasticsearch — основные команды»
Docker — просмотр образа
docker run -it --entrypoint sh [image]
Настройка сети для docker и установка разрешений в ufw
По умолчанию настройки /etc/docker/daemon.json берём следующие настройки:
{
"bip": "172.66.0.1/16",
"default-address-pools": [{
"scope": "local",
"base": "172.20.0.0/16",
"size": 24
}],
"log-driver": "local",
"log-opts": {
"max-size": "10m"
}
}
Читать далее «Настройка сети для docker и установка разрешений в ufw» Docker remove none TAG images
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)