Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

Charmed PostgreSQL VM Tutorial > 4. Manage passwords

Manage passwords

When we accessed PostgreSQL earlier in this tutorial, we needed to use a password manually. Passwords help to secure our database and are essential for security. Over time, it is a good practice to change the password frequently.

In this section, we will go through setting and changing the password for the admin user.

Summary


Retrieve the operator password

The operator’s password can be retrieved by running the get-password action on the Charmed PostgreSQL VM application:

juju run postgresql/leader get-password

Running the command should output:

unit-postgresql-0:
  UnitId: postgresql/0
  id: "14"
  results:
    operator-password: eItxBiOYeMf7seSv
  status: completed
  timing:
    completed: 2023-03-20 09:17:51 +0000 UTC
    enqueued: 2023-03-20 09:17:49 +0000 UTC
    started: 2023-03-20 09:17:50 +0000 UTC

Rotate the operator password

You can change the operator’s password to a new random password by entering:

juju run postgresql/leader set-password

Running the command should output:

unit-postgresql-0:
  UnitId: postgresql/0
  id: "16"
  results:
    operator-password: npGdNGNGVtu7SO50
  status: completed
  timing:
    completed: 2023-03-20 09:18:11 +0000 UTC
    enqueued: 2023-03-20 09:18:08 +0000 UTC
    started: 2023-03-20 09:18:10 +0000 UTC

The status: completed element in the output above indicates that the password has been successfully updated. The new password should be different from the previous password.

Set a new password

You can set a specific password for any user by running the set-password juju action on the leader unit.

…for the operator user

To set a manual password for the operator/admin user, run the following command:

juju run postgresql/leader set-password password=<password>

where <password> is your password of choice.

Example output:

unit-postgresql-0:
  UnitId: postgresql/0
  id: "18"
  results:
    operator-password: my-password
  status: completed
  timing:
    completed: 2023-03-20 09:20:06 +0000 UTC
    enqueued: 2023-03-20 09:20:04 +0000 UTC
    started: 2023-03-20 09:20:05 +0000 UTC

…for another user

To set a manual password for another user, run the following command:

juju run postgresql/leader set-password username=my-user password=my-password

Read more about internal operator users here.

Next step: 5. Integrate with other applications

Last updated 6 months ago. Help improve this document in the forum.