Сбор основных показателей PostgreSQL

Настраиваем периодический сбор данных при помощи psql:

sudo su - postgres
crontab -e
# добавляем следующий код
*/15 * * * * psql -U postgres -d postgres -c "SELECT datname, xact_commit, now(), numbackends FROM pg_stat_database where datname = 'cic-release-db' or datname = 'hangfire'" >> /var/lib/postgresql/pg_stat_database.log

Примечание: имена таблиц в pg_stat_database указывать свои.

Читать далее «Сбор основных показателей PostgreSQL»

Добавление Swap в Ubuntu Server

По умолчанию сервера Google Cloud Platform предоставляются без swap, а это плохо, потому что если используется e2-micro оперативная память в 1G быстро закончится.

Чтобы оставить сервер работоспособным можно подключить swap:

При настройки swap использовался сервер Ubuntu 18.04

sudo swapon --show # проверяем наличие swap
sudo fallocate -l 1G /swapfile # создаем файл размер 1G или можно указать 1024M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile # включаем swap
sudo swapon --show # проверяем swap
sudo nano /etc/fstab # настраиваем подключение диска
/swapfile swap swap defaults 0 0

Все должно работать. Оригинал тут How to Add Swap Space on Ubuntu 18.04 — Google Cloud (cloudbooklet.com)

Ещё одна статья по изменению существующего swap

  1. Turn off all swap processes
1sudoswapoff -a

2. Resize the swap

1sudoddif=/dev/zeroof=/swapfilebs=1G count=8

if = input file
of = output file
bs = block size
count = multiplier of blocks3. Change permission

1sudochmod600 /swapfile

4. Make the file usable as swap

1sudomkswap /swapfile

5. Activate the swap file

1sudoswapon /swapfile

6. Edit /etc/fstab and add the new swapfile if it isn’t already there

1/swapfilenone swap sw 0 0

7. Check the amount of swap available

1grepSwapTotal /proc/meminfo

Вывод собственного меню в фрагменте

You need to use menu.clear() before inflating menus.

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        menu.clear();
        inflater.inflate(R.menu.menu, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }

and

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setHasOptionsMenu(true);
    }

How to add Options Menu to Fragment in Android — Stack Overflow

Ручное обновление NGINX до версии 1.20.1 для Ubuntu 20.04 LTS

// Uninstall Nginx
sudo apt-get remove nginx
sudo apt purge nginx*

//Then, install Nginx following document: http://nginx.org/en/linux_packages.html#Ubuntu
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx"| sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx

Оригинал с Update nginx in ubuntu 14.04 — Stack Overflow

Мое примечание: если обновление происходит с версии 1.18.* то требуется предварительно сохранить копию файлов из папки /etc/nginx/sites-available

Файлы из папки /etc/nginx/sites-enabled копировать не нужно, они лишь символьные ссылки.

После обновления до версии 1.20.* нужно вручную перенеси информацию в каталог /etc/nginx/conf.d

Создания скриншотов для AppStore

Для подключения iTunes допустимы следующие разрешения:

  • iPhone 3 + 4 (3,5 дюйма)
    • 640 х 960
  • iPhone 5, iPhone 5S, iPhone 5C (4 дюйма)
    • 640 х 1136
  • iPhone 6, iPhone 6S, iPhone 7, iPhone 8 (4,7 дюйма)
    • 750 х 1334
  • iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus, iPhone 8 Plus (5,5 дюймов)
    • 1242 x 2208
    • Вам нужен скриншот в этом разрешении, телефон масштабирует их до 1080 х 1920
  • iPhone X (5,8 дюйма)
    • 1125 x 2436
  • iPhone XR (6,1 дюйма)
    • 828 х 1792
  • iPhone XS (5,8 дюйма)
    • 1125 x 2436
Читать далее «Создания скриншотов для AppStore»

PLV8 для Postgres 12

Если пытаться установить на Ubuntu 20.04 postgresql-plv8, то будет ошибка, что пакет не найден.

Для установки данного расширения на указанную выше ОС нужно собрать этот пакет вручную.

$ wget https://github.com/plv8/plv8/archive/v3.0.0.tar.gz
$ tar -xvzf v3.0.0.tar.gz
$ cd plv8-3.0.0
$ make

Возможные проблемы:

Нужно проверить если все эти программы, если нет, то установить:

Git
g++ or clang++
Python 2 (for v8)
pkg-config (linux only for v8)
libc++-dev (linux only)
libc++abi-dev (linux only)
libglib2.0-dev (ubuntu 20.04)
libtinfo5 (ubuntu 20.04)
ninja-build (ubuntu arm64)
  • Может отсутствовать make (apt install make)
  • Не будет ссылки на python
/usr/bin/env: ‘python’: No such file or directory

Устанавливаем python второй версии:

sudo apt install python2

И настраиваем ссылку:

sudo ln -s /usr/bin/python2 /usr/bin/python
sudo apt install postgresql-server-dev-12

Официальный сайт: PLV8 Documentation