PostgreSQL is a powerful, open source object-relational database system with a strong reputation for reliability,
feature robustness, and performance. Many applications uses PostgreSQL as their database.
feature robustness, and performance. Many applications uses PostgreSQL as their database.
Here , i will show the way to install postgreSQL db on your centos server.
My Hardware Specs, Hosted on VirtualBox
Linux Server : CentOS Linux release 7.5.1804
Memory : 1GB
By default CentOS contains postgreSQL packages within its default repositories, but we will install it from its repo
Install the Postgres repo
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-ppc64le/pgdg-redhat-repo-latest.noarch.rpm
Now you can get the list from the repositories
yum list | grep postgres
For example refer below ,
[root@mydbinfo ~]# yum list | grep postgresql
Failed to set locale, defaulting to C
calligra-kexi-driver-postgresql.x86_64 2.9.10-2.el7 epel
collectd-postgresql.x86_64 5.8.1-1.el7 epel
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
postgresql94.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-contrib.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-debuginfo.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-devel.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-docs.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-jdbc.noarch 9.4.1207-2.rhel7 pgdg94
postgresql94-jdbc-javadoc.noarch 9.4.1207-2.rhel7 pgdg94
postgresql94-libs.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-odbc.x86_64 11.00.0000-1PGDG.rhel7 pgdg94
postgresql94-odbc-debuginfo.x86_64 09.03.0400-1PGDG.rhel7 pgdg94
postgresql94-plperl.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-plpython.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-pltcl.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-server.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql94-tcl.x86_64 2.4.0-1.rhel7 pgdg94
postgresql94-tcl-debuginfo.x86_64 2.3.1-1.rhel7 pgdg94
postgresql94-test.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql95.x86_64 9.5.17-1PGDG.rhel7 pgdg95
postgresql95-contrib.x86_64 9.5.17-1PGDG.rhel7 pgdg95
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
postgresql_anonymizer10.noarch 0.2.1-1.rhel7 pgdg10
postgresql_anonymizer11.noarch 0.2.1-1.rhel7 pgdg11
postgresql_anonymizer95.noarch 0.2.1-1.rhel7 pgdg95
postgresql_anonymizer96.noarch 0.2.1-1.rhel7 pgdg96
proftpd-postgresql.x86_64 1.3.5e-4.el7 epel
python-testing.postgresql.noarch 1.1.0-3.el7 epel
qt-postgresql.i686 1:4.8.7-2.el7 base
qt-postgresql.x86_64 1:4.8.7-2.el7 base
qt5-qtbase-postgresql.i686 5.9.2-3.el7 base
qt5-qtbase-postgresql.x86_64 5.9.2-3.el7 base
soci-postgresql.x86_64 3.2.3-1.el7 epel
soci-postgresql-devel.x86_64 3.2.3-1.el7 epel
[root@mydbinfo ~]#
|
The above shows the list of software available from the repo, depending on your need you can install the needed version.
To be precise to now what all versions are available
[root@mydbinfo ~]# yum list | grep postgresql | grep server.x86_64
Failed to set locale, defaulting to C
postgresql-server.x86_64 9.2.24-1.el7_5 base
postgresql10-server.x86_64 10.8-1PGDG.rhel7 pgdg10
postgresql11-server.x86_64 11.3-1PGDG.rhel7 pgdg11
postgresql94-server.x86_64 9.4.22-1PGDG.rhel7 pgdg94
postgresql95-server.x86_64 9.5.17-1PGDG.rhel7 pgdg95
postgresql96-server.x86_64 9.6.13-1PGDG.rhel7 pgdg96
[root@mydbinfo ~]#
|
So, we can see we have starting from 9.2,9.4,9.5,9.6,10.8 & 11.3 (latest) we have
Here we will install 9.6 and will upgrade it to 10.8.
To install a specific version run below command
sudo yum install postgresql96-server postgresql96-contrib
Initialize the Database
After the installation is done, we need to initialize the database using the below command:
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Start the Database
After initializing the database, we can start the service using
systemctl start postgresql-9.6.service
In Linux by default, a user named postgres is created once PostgreSQL is installed.
You can change the user’s password if required
You can change the user’s password if required
(sudo passwd postgres)
To switch to PostgreSQL prompt
su - postgres
To login to postgresql
psql
Some basic commands,
To list the database
postgres=# \l
|
To use a database
postgres=# \c dbname
|
To show tables from a database
dbanme=# \d
|
To view a table structure
dbanme=# \d tblname
|
Example:-
postgres=# create database test;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
test | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)
postgres=#
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=#
test=# create table tbl (id integer,name varchar(10));
CREATE TABLE
test=#
test=# \d
List of relations
Schema | Name | Type | Owner
--------+------+-------+----------
public | tbl | table | postgres
(1 row)
test=# \d tbl
Table "public.tbl"
Column | Type | Modifiers
--------+-----------------------+-----------
id | integer |
name | character varying(10) |
test=#
|
No comments:
Post a Comment