Category: Tech articles

  • How to Install and Connect to PostgreSQL on CentOS 7

    \"postgresql\"PostgreSQL (pronounced ‘post-gres-Q-L’) is a free, open-source object-relational database management system (object-RDBMS), similar to MySQL, and is standards-compliant and extensible. It is commonly used as a back-end for web and mobile applications. PostgreSQL, or ‘Postgres’ as it is nicknamed, adopts the ANSI/ISO SQL standards together, with the revisions.

    Pre-Flight Check
    • These instructions are intended specifically for installing PostgreSQL on CentOS 7.
    • I’ll be working from a Liquid Web Self Managed CentOS 7 server, and I’ll be logged in as root.
    Step 1: Add the PostgreSQL 9.3 Repository

    In this case we want to install PostgreSQL 9.3 directly from the Postgres repository. Let’s add that repo:

    wget http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
    rpm -ihvU pgdg-centos94-9.4-1.noarch.rpm

    Step 2: Install PostgreSQL

    First, you’ll follow a simple best practice: ensuring the list of available packages is up to date before installing anything new.

    yum -y update

    Then it’s a matter of just running one command for installation via apt-get:

    yum -y install postgresql94 postgresql94-server postgresql94-contrib postgresql94-libs --disablerepo=* --enablerepo=pgdg94

    PostgreSQL should now be installed.

    Step 3: Start PostgreSQL

    Configure Postgres to start when the server boots:

    systemctl enable postgresql-9.4

    Start Postgres:

    /usr/pgsql-9.4/bin/postgresql94-setup initdb
    
    systemctl start postgresql-9.4

    Step 4: Switch to the Default PostgreSQL User

    As part of the installation Postgres adds the system user postgres and is setup to use “ident” authentication. Rolesinternal to Postgres (which are similar to users) match with a system user account.

    Let’s switch into that system user:

    su – postgres

    And then connect to the PostgreSQL terminal (in the postgres role):

    $ psql

    That’s it! You’re connected and ready to run commands in PostgreSQL as the postgres role.