Перейти до основного вмісту

Міграція Sqlite to Postgres

Огляд

Якщо ви почали використовувати Yucca з Sqlite, а потім ресурси зросли, ви можете мігрувати дані з бази Sqlite на Postgres. Зворотна міграція не передбачена.

Міграція

  1. Заздалегідь розгорніть і підготуйте postgres.

  2. Зупиніть сервер Yucca:

    sudo systemctl stop yucca
  3. Запустіть команду міграції, вказавши шлях до вихідної бази та бази призначення:

    /opt/yucca/yucca admin migrate

    Список усіх параметрів можна переглянути в підказці:

    /opt/yucca/yucca admin migrate --help
    Migrate state from SQLite to PostgreSQL

    Usage:
    yucca admin migrate [flags]

    Flags:
    --config string Path to configuration file (default "/opt/yucca/yucca.toml")
    --data-dir string The data directory used to store state and other persistent data (default "data")
    --database-busy-timeout int Timeout in seconds for waiting for an SQLite table to become unlocked (default 500)
    --database-ca-cert-path string The path to the CA certificate to use (default "/etc/ssl/certs")
    --database-cache-mode string Shared cache setting used for connecting to the database (private, shared) (default "shared")
    --database-client-cert-path string The path to the client cert
    --database-client-key-path string The path to the client key
    --database-conn-max-lifetime duration Sets the maximum amount of time a connection may be reused (default 0s)
    --database-host string Database host (not applicable for sqlite3) (default "127.0.0.1:5432")
    --database-max-idle-conn int The maximum number of connections in the idle connection pool (default 2)
    --database-max-open-conn int The maximum number of open connections to the database
    --database-name string The name of the Yucca database (default "yucca")
    --database-password string The database user's password (not applicable for sqlite3) (default "postgres")
    --database-path string SQLite database location
    --database-ssl-mode string SSL mode for Postgres (disable, require or verify-full) (default "disable")
    --database-user string The database user (not applicable for sqlite3) (default "postgres")
    -h, --help Help for migrate
    --state-dir string The directory used to store state and other persistent data (default "<data-dir>/state")
  4. Вкажіть у конфігурації новий тип бази даних postgres і вкажіть реквізити підключення.

  5. Запустіть сервер Yucca:

    sudo systemctl start yucca
  6. Переконайтеся, що Yucca тепер використовує postgres, це можна побачити в розділі конфігурації /ui/administration/config або в логу при старті сервера.