use lmrc_postgres::{PostgresConfig, PostgresManager};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt::init();
let config = PostgresConfig::builder()
.version("15")
.database_name("myapp")
.username("myuser")
.password("mypassword")
.build()?;
let manager = PostgresManager::builder()
.config(config)
.server_ip("192.168.1.100")
.ssh_user("root")
.ssh_password("ssh_password")
.build()?;
if manager.is_installed().await? {
println!("PostgreSQL is installed");
println!("\nOption 1: Uninstall but keep data");
println!("This will remove PostgreSQL but preserve databases and configuration");
println!("\nOption 2: Completely remove (purge)");
println!("This will remove PostgreSQL and all data");
println!("⚠️ WARNING: This will delete all databases!");
println!("\nUninstallation completed successfully!");
} else {
println!("PostgreSQL is not installed");
}
if !manager.is_installed().await? {
println!("✓ PostgreSQL has been uninstalled");
}
Ok(())
}