You can perform single instance installations of AlloyDB Omni on any Linux machine or bare metal server that supports RHEL 9 runtimes.
To get started with this deployment model, submit this form to request access .
Before you begin
Before you install AlloyDB Omni, read Plan your AlloyDB Omni installation .
Create a directory where AlloyDB Omni stores data
If you're using a storage system that runs AlloyDB Omni along with other applications, you can create the AlloyDB Omni directory on your device's existing file system. Otherwise, you can create a new file system on your dedicated device.
Existing file system
To create a directory in an existing file system, run the following command:
mkdir
-p
DATA_DIR
Replace the following variable:
- DATA_DIR : the host directory path that your data is stored in.
Dedicated device
To create a directory in a dedicated file system, perform the following steps:
-
Create a directory on the host where the disk will be mounted.
mkdir -p MOUNT_POINTReplace the following variable:
- MOUNT_POINT : top-level directory path that should contain your AlloyDB Omni instance.
-
Create a
gptpartition table and file system, and mount the disk device.EXT4
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%mkfs.ext4 -q -m 1 -L FS_LABEL -F PARTITION_PATHecho -e "LABEL= FS_LABEL \t MOUNT_POINT \text4\tdefaults\t0 0" | tee -a /etc/fstabmount MOUNT_POINTReplace the following variables:
- DEVICE_PATH : path assigned by the operating system to the disk device.
- FS_LABEL
: label for the file system. The maximum length is 12 characters for
xfs. - PARTITION_PATH : path for the disk partition that's used to store the file system data.
XFS
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%dnf install xfsprogsmkfs.xfs -L FS_LABEL -f PARTITION_PATHecho -e "LABEL= FS_LABEL \t MOUNT_POINT \txfs\tdefaults\t0 0" | tee -a /etc/fstabmount MOUNT_POINTReplace the following variables:
- DEVICE_PATH : path assigned by the operating system to the disk device.
- FS_LABEL
: label for the file system. The maximum length is 16 characters for
ext4. - PARTITION_PATH : path for the disk partition that's used to store the file system data.
-
Create a data directory in this file system. We recommend creating
DATA_DIRas a subdirectory inside the mount point—for example,MOUNT_POINT /17.mkdir -p DATA_DIRReplace
DATA_DIRwith host directory path to store database related data in—for example,MOUNT_POINT /17.
Configure SELinux policy
Install the required policycoreutils-python-utils
package so that the SELinux
policy is configured to allow AlloyDB Omni database service while installing the AlloyDB Omni RPM package.
Install AlloyDB Omni
-
Configure the YUM repository in your local directory.
sudo tee -a /etc/yum.repos.d/alloydbomni.repo << EOF [alloydbomni] name=alloydbomni baseurl= ALLOYDB_OMNI_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub EOF $ sudo yum makecache
Replace
ALLOYDB_OMNI_URLwith the AlloyDB Omni URL that you receive after you sign up for access . -
Install the AlloyDB Omni RPM package.
sudo dnf install alloydbomni17 -
Initialize and configure the AlloyDB Omni database.
sudo PGPASSWORD = POSTGRES_PASSWORD PGDATA = DATA_DIR /usr/lib/postgresql/17/bin/alloydbomni17-setup initdbOptionally, you can pass standard
initdboptions as a single string in thePOSTGRES_INITDB_ARGSvariable. -
Prepare the AlloyDB Omni database.
sudo PGPASSWORD = POSTGRES_PASSWORD /usr/lib/postgresql/17/bin/alloydbomni17-setup preparedb -
Optional. For optimized execution of the AlloyDB Omni service, run the following command.
sudo /usr/lib/postgresql/17/bin/alloydbomni17-setup-host -
Start the AlloyDB Omni
systemdservice.sudo systemctl enable alloydbomni17 $ sudo systemctl start alloydbomni17 -
Check whether the AlloyDB Omni service is running successfully.
sudo systemctl status alloydbomni17The following is an example response. Verify that the status is active (running).
Loaded: loaded (/usr/lib/systemd/system/alloydbomni17.service; enabled; preset: disabled) Drop-In: /etc/systemd/system/alloydbomni17.service.d Active: active (running) since Wed 2025-11-19 07:37:31 UTC; 1 day 6h ago " Process: 120228 ExecStartPre=/usr/lib/postgresql/17/bin/alloydbomni17-check-db-dir ${PGDATA} (code=exited, status=0 SUCCESS) Main PID: 120231 (postgres) Tasks: 19 (limit: 203438) Memory: 161.7M (peak: 170.0M) CPU: 28min 10.149s CGroup: /system.slice/alloydbomni17.service ├─120231 /usr/lib/postgresql/17/bin/postgres -D /var/lib/postgresql/17/data ├─120232 "postgres: alloydb internal logger " ├─120233 "postgres: checkpointer " ├─120234 "postgres: background writer " ├─120237 "postgres: walwriter " ├─120243 "postgres: lux wal preallocator " ├─120244 "postgres: autovacuum launcher " ├─120246 "postgres: free buffer manager " ├─120247 "postgres: buffer control "

