Installing EDB Postgres Advanced Server on CentOS 7 x86_64 v13

Prerequisites

Before you begin the installation process:

  • Set up the EDB repository

    Setting up the repository is a one-time task. If you have already set up your repository, you don't need to perform this step.

    To determine if your repository exists, enter this command:

    dnf repolist | grep enterprisedb

    If no output is generated, the repository isn't installed.

    To set up the EDB repository:

    1. Go to EDB repositories.

    2. Select the button that provides access to the EDB repository.

    3. Select the platform and software that you want to download.

    4. Follow the instructions for setting up the EDB repository.

  • Install the EPEL repository

    sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Install the package

sudo yum -y install edb-as<xx>-server

Where <xx> is the version of the EDB Postgres Advanced Server you are installing. For example, if you are installing version 13, the package name would be edb-as13-server.

To install an individual component:

sudo yum -y install <package_name>

Where package_name can be any of the available packages from the available package list.

Installing the server package creates an operating system user named enterprisedb. The user is assigned a user ID (UID) and a group ID (GID). The user has no default password. Use the passwd command to assign a password for the user. The default shell for the user is bash and the user's home directory is /var/lib/edb/as13.

Initial configuration

This section steps you through getting started with your cluster including logging in, ensuring the installation and initial configuration was successful, connecting to your cluster, and creating the user password.

First you need to initialize and start the database cluster. The edb-as-13-setup script creates a cluster in Oracle-compatible mode with the edb sample database in the cluster. To create a cluster in Postgres mode, see Initializing the cluster in Postgres mode.

sudo PGSETUP_INITDB_OPTIONS="-E UTF-8" /usr/edb/as13/bin/edb-as-13-setup initdb

sudo systemctl start edb-as-13

To work in your cluster, login as the enterprisedb user. Connect to the database server using the psql command line client (although you can use a client of your choice with the appropriate connection string).

sudo su - enterprisedb

psql edb

The server runs with the peer or ident permission by default. You can change the authentication method by modifying the pg_hba.conf file.

Before changing the authentication method, assign a password to the database superuser, enterprisedb. For more information on changing the authentication, see modifying the pg_hba.conf file.

ALTER ROLE enterprisedb IDENTIFIED BY password;

Experiment

Now you are ready to create and connect to a database, create a table, insert data in a table, and view the data from the table.

First let's create a database to hold human resource information named hr using psql.

# running in psql
CREATE DATABASE hr;
Output
CREATE DATABASE

Connect to the hr database inside psql.

\c hr
Output
psql (15.2.0, server 15.2.0)
You are now connected to database "hr" as user "enterprisedb".

Create columns to hold department numbers, unique department names, and locations.

CREATE TABLE public.dept (deptno numeric(2) NOT NULL CONSTRAINT dept_pk
PRIMARY KEY, dname varchar(14) CONSTRAINT dept_dname_uq UNIQUE, loc
varchar(13));
Output
CREATE TABLE

Insert values into the dept table.

INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
Output
INSERT 0 1
INSERT into dept VALUES (20,'RESEARCH','DALLAS');
Output
INSERT 0 1

View what is in the table by selecting the values from the table.

SELECT * FROM dept;
Output
deptno  |   dname    |   loc
--------+------------+----------
10      | ACCOUNTING | NEW YORK
20      | RESEARCH   | DALLAS
(2 rows)