Skip to main content

Install Postgresql 12.8 on RHEL 7 and Cent OS

Install Postgresql 12.8 on RHEL 7:

Download following rpm packages from - https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/

postgresql12-libs-12.8-1PGDG.rhel7.x86_64.rpm
postgresql12-12.8-1PGDG.rhel7.x86_64.rpm
postgresql12-server-12.8-1PGDG.rhel7.x86_64.rpm
postgresql12-contrib-12.8-1PGDG.rhel7.x86_64

Install rpm packages for Postgresql:

# yum install postgresql12-libs-12.8-1PGDG.rhel7.x86_64.rpm
# yum install postgresql12-12.8-1PGDG.rhel7.x86_64.rpm
# yum install postgresql12-server-12.8-1PGDG.rhel7.x86_64.rpm
# yum install postgresql12-contrib-12.8-1PGDG.rhel7.x86_64

It will install following utilities at /usr/pg-sql12/bin

clusterdb   dropuser           pg_basebackup  pg_controldata  pg_isready      pg_restore     pg_test_timing  postgresql-12-check-db-dir  reindexdb createdb    initdb             pgbench        pg_ctl          pg_receivewal   pg_rewind      pg_upgrade      postgresql-12-setup         vacuumdb
createuser  oid2name   pg_checksums   pg_dump         pg_recvlogical  pg_standby     pg_waldump      postmaster   vacuumlo dropdb      pg_archivecleanup  pg_config      pg_dumpall      pg_resetwal     pg_test_fsync  postgres        psql

Initialize postgresql:

# postgresql-12-setup initdb
Initializing database ... OK

Enable postgresql:
# systemctl enable postgresql-12.service

# Start Postgresql service:

systemctl start postgresql-12.service

Set password for user postgres:
$ sudo su - postgres

$ psql

postgres=# alter user postgres with password 'postgres';

ALTER ROLE

Connect using psql:
$ psql
psql (12.8)
Type "help" for help.
    
Processes for Postgresql:

# ps -ef | grep postgres
postgres 12161     1  0 13:04 ?        00:00:00 /usr/pgsql-12/bin/postmaster -D /mysql/postgresql/
postgres 12163 12161  0 13:04 ?        00:00:00 postgres: logger
postgres 12165 12161  0 13:04 ?        00:00:00 postgres: checkpointer
postgres 12166 12161  0 13:04 ?        00:00:00 postgres: background writer
postgres 12167 12161  0 13:04 ?        00:00:00 postgres: walwriter
postgres 12168 12161  0 13:04 ?        00:00:00 postgres: autovacuum launcher
postgres 12169 12161  0 13:04 ?        00:00:00 postgres: stats collector
postgres 12170 12161  0 13:04 ?        00:00:00 postgres: logical replication launcher
postgres 12404 12403  0 13:06 pts/0    00:00:00 -bash
postgres 12435 12404  0 13:06 pts/0    00:00:00 psql
postgres 12436 12161  0 13:06 ?        00:00:00 postgres: postgres postgres [local] idle
postgres 13104 12161  0 13:11 ?        00:00:03 postgres: postgres postgres 10.225.109.174(55594) idle
postgres 13106 12161  0 13:11 ?        00:00:04 postgres: postgres test 10.225.109.174(62426) idle

Explore: 

https://www.postgresql.org/docs/12/creating-cluster.html
https://blog.crunchydata.com/blog/postgresql-installing-and-creating-cluster-with-rpm-packages
https://sysadminxpert.com/install-postgresql-12-on-centos-7-or-rhel-7/

Comments

Popular posts from this blog

MySQL InnoDB cluster troubleshooting | commands

Cluster Validation: select * from performance_schema.replication_group_members; All members should be online. select instance_name, mysql_server_uuid, addresses from  mysql_innodb_cluster_metadata.instances; All instances should return same value for mysql_server_uuid SELECT @@GTID_EXECUTED; All nodes should return same value Frequently use commands: mysql> SET SQL_LOG_BIN = 0;  mysql> stop group_replication; mysql> set global super_read_only=0; mysql> drop database mysql_innodb_cluster_metadata; mysql> RESET MASTER; mysql> RESET SLAVE ALL; JS > var cluster = dba.getCluster() JS > var cluster = dba.getCluster("<Cluster_name>") JS > var cluster = dba.createCluster('name') JS > cluster.removeInstance('root@<IP_Address>:<Port_No>',{force: true}) JS > cluster.addInstance('root@<IP add>,:<port>') JS > cluster.addInstance('root@ <IP add>,:<port> ') JS > dba.getC...

MySQL slave Error_code: 1032 | MySQL slave drift | HA_ERR_KEY_NOT_FOUND

MySQL slave Error_code: 1032 | MySQL slave drift: With several MySQL, instance with master slave replication, I have one analytics MySQL, environment which is larger in terabytes, compared to other MySQL instances in the environment. Other MySQL instances with terabytes of data are running fine master, slave replication. But this analytics environment get started generating slave Error_code :1032. mysql> show slave status; Near relay log: Error_code: 1032; Can't find record in '<table_name>', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log <name>-bin.000047, end_log_pos 5255306 Near master section: Could not execute Update_rows event on table <db_name>.<table_name>; Can't find record in '<table_name>', Error_code: 1032; Can't find record in '<table_name>', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log <name>-bin.000047, end_l...

InnoDB cluster Remove Instance Force | Add InnoDB instance

InnoDB cluster environment UUID is different on node: To fix it stop group replication, remove instance (use force if require), add instance back Identify the node which is not in sync: Execute following SQL statement on each node and identify the node has different UUID on all nodes. mysql> select * from mysql_innodb_cluster_metadata.instances; Stop group replication: Stop group replication on the node which does not have same UUID on all nodes. mysql > stop GROUP_REPLICATION; Remove instances from cluster: Remove all secondary node from the cluster and add them back if require. $mysqlsh JS >\c root@<IP_Address>:<Port_No> JS > dba.getCluster().status() JS > dba.getCluster () <Cluster:cluster_name> JS > var cluster = dba.getCluster("cluster_name"); JS >  cluster.removeInstance('root@<IP_Address>:<Port_No>'); If you get "Cluster.removeInstance: Timeout reached waiting......" JS > cluster.removeInstance(...