PostgreSQL
September 10, 2022

Создать кластер с флейвором b2.nano и увеличить флейвор до s2.small

Создадим кластер с наименьшими характеристиками по CPU/RAM. Затем эти характеристики увеличим.

Поехали!

export FOLDER_ID=$(yc config get folder-id)
export ZONE=ru-central1-a
export SG=$(yc vpc sg get cam-db --format json | jq -r '.id')
export NETWORK_ID=$(yc vpc network get cameda-test --format json | jq -r '.id')
export SUBNET_ID=$(yc vpc subnet get subnet-a --format json | jq -r '.id')

yc postgresql cluster create \
 --folder-id $FOLDER_ID \
 --name cam-postgres1 \
 --description 'PostgreSQL test' \
 --postgresql-version 12 \
 --environment production \
 --labels prod=postgres \
 --network-name cameda-test \
 --resource-preset b2.nano \
 --host zone-id=$ZONE,subnet-id=$SUBNET_ID,assign-public-ip \
 --disk-type network-ssd \
 --disk-size 10 \
 --user name=cameda,password=passpass,conn-limit=50 \
 --database name=db1,owner=cameda \
 --security-group-ids $SG \
 --backup-window-start 01:00:00 \
 --backup-retain-period-days 7 \
 --websql-access \
 --serverless-access \
 --datalens-access \
 --datatransfer-access \
 --deletion-protection=false \
 --async

При создании кластера с флейвором b2.nano стоит помнить об его ограничениях. Так нельзя создать реплику. CPU используется частично. Такая конфигурация отлично подойдёт для небольших тестов. Но никак не для прода.

Для создания использую старенькую 12 версию. Она нам чуть позже пригодится.

Кластер создали!

Теперь изменим флейвор на s2.small, который помощнее.

export POSTGRES=$(yc postgresql cluster get cam-postgres1 --format=json | jq -r ".id")
yc postgres cluster update $POSTGRES \
  --resource-preset s2.medium \
  --async

Готово! Мы изменили пресет с b2.nano на s2.medium