Postgresql – Azure DBaaS storage

azurepostgresql

Does Azure Database for PostgreSQL has its storage auto-expandable?
Say, we have allocated 100G of space for the DB instance. Would it expand on its own.

Where can we see the server log storage capacity for Azure Database for PostgreSQL?

Best Answer

Regarding your first question: It is not auto-expandable.

Reaching the storage limit

The server is marked read-only when the amount of free storage reaches less than 5 GB or 5% of provisioned storage, whichever is less. For example, if you have provisioned 100 GB of storage, and the actual utilization goes over 95 GB, the server is marked read-only. Alternatively, if you have provisioned 5 GB of storage, the server is marked read-only when the free storage reaches less than 250 MB.

When the server is set to read-only, all existing sessions are disconnected and uncommitted transactions are rolled back. Any subsequent write operations and transaction commits fail. All subsequent read queries will work uninterrupted.

You can either increase the amount of provisioned storage to your server or start a new session in read-write mode and drop data to reclaim free storage. Running SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE; sets the current session to read write mode. In order to avoid data corruption, do not perform any write operations when the server is still in read-only status.

We recommend that you set up an alert to notify you when your server storage is approaching the threshold so you can avoid getting into the read-only state. For more information, see the documentation on how to set up an alert.

Regarding your 2nd Question: The server log storage is in the same bucket as the database files. You can configure the server logging to meet your requirements. See here

Storage

The storage you provision is the amount of storage capacity available to your Azure Database for PostgreSQL server. The storage is used for the database files, temporary files, transaction logs, and the PostgreSQL server logs. The total amount of storage you provision also defines the I/O capacity available to your server.

More info here