Preface
PostgreSQL is a powerful open source object-relational database system that can run on almost all major operating systems, including Linux, Unix (AIX, BSD, HP-UX, SGI IRIX, Mac OS, Solaris, Tru64), and Windows OS. For new projects I highly recommend using PostgreSQL. Here we will briefly organize the installation process under CentOS.
The source of CentOS comes with PostgreSQL, which can be passedyum list | grep postgresql
Check out the version that comes with the system. I saw version 9.2 here. I personally recommend installing an updated version.
Install
1. Install yum source (address from/Get it)
yum install /pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.
The latest version 9.6 is selected here, and it will be used after installation.yum update
Update source information and then use ityum list | grep postgresql
, is there already the latest version of postgresql?
[root@localhost ~]# yum list|grep postgresql calligra-kexi-driver-postgresql.x86_64 2.9.10-1.el7 epel collectd-postgresql.x86_64 5.6.0-1.el7 epel freeradius-postgresql.x86_64 3.0.4-6.el7 base libreoffice-postgresql.x86_64 1:4.3.7.2-5.el7_2.1 updates 9.3.4-2.el7 epel 9.3.4-2.el7 epel opendbx-postgresql.x86_64 1.4.6-6.el7 epel opensips-postgresql.x86_64 1.10.5-3.el7 epel 9.0.4-1.el7 epel pcp-pmda-postgresql.x86_64 3.10.6-2.el7 base pdns-backend-postgresql.x86_64 3.4.10-1.el7 epel perdition-postgresql.x86_64 2.1-5.el7 epel postgresql.i686 9.2.15-1.el7_2 updates postgresql.x86_64 9.2.15-1.el7_2 updates postgresql-contrib.x86_64 9.2.15-1.el7_2 updates postgresql-devel.i686 9.2.15-1.el7_2 updates postgresql-devel.x86_64 9.2.15-1.el7_2 updates postgresql-docs.x86_64 9.2.15-1.el7_2 updates 9.4.1212-1.rhel7 pgdg96 9.4.1212-1.rhel7 pgdg96 postgresql-libs.i686 9.2.15-1.el7_2 updates postgresql-libs.x86_64 9.2.15-1.el7_2 updates postgresql-odbc.x86_64 09.03.0100-2.el7 base postgresql-pgpool-II.x86_64 3.4.6-1.el7 epel postgresql-pgpool-II-devel.x86_64 3.4.6-1.el7 epel postgresql-pgpool-II-extensions.x86_64 3.4.6-1.el7 epel postgresql-plperl.x86_64 9.2.15-1.el7_2 updates postgresql-plpython.x86_64 9.2.15-1.el7_2 updates postgresql-plruby.x86_64 0.5.3-13.el7 epel postgresql-plruby-doc.x86_64 0.5.3-13.el7 epel postgresql-pltcl.x86_64 9.2.15-1.el7_2 updates postgresql-server.x86_64 9.2.15-1.el7_2 updates postgresql-test.x86_64 9.2.15-1.el7_2 updates postgresql-unit96.x86_64 1.0-1.rhel7 pgdg96 postgresql-unit96-debuginfo.x86_64 1.0-1.rhel7 pgdg96 postgresql-upgrade.x86_64 9.2.15-1.el7_2 updates postgresql96.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-contrib.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-debuginfo.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-devel.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-docs.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-libs.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-odbc.x86_64 09.05.0400-1PGDG.rhel7 pgdg96 postgresql96-plperl.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-plpython.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-pltcl.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-python.x86_64 4.2-1PGDG.rhel7 pgdg96 postgresql96-python-debuginfo.x86_64 4.2-1PGDG.rhel7 pgdg96 postgresql96-server.x86_64 9.6.1-1PGDG.rhel7 pgdg96 postgresql96-tcl.x86_64 2.1.1-1.rhel7 pgdg96 postgresql96-tcl-debuginfo.x86_64 2.1.1-1.rhel7 pgdg96 postgresql96-test.x86_64 9.6.1-1PGDG.rhel7 pgdg96 proftpd-postgresql.x86_64 1.3.5b-2.el7 epel 1.1.0-2.el7 epel qt-postgresql.i686 1:4.8.5-12.el7_2 updates qt-postgresql.x86_64 1:4.8.5-12.el7_2 updates qt5-qtbase-postgresql.x86_64 5.6.1-3.el7 epel soci-postgresql.x86_64 3.2.3-1.el7 epel soci-postgresql-devel.x86_64 3.2.3-1.el7 epel
2. Install PostgreSQL
The most core here is to install postgresql96-server and postgresql96-contrib, where the "contrib" package contains some commonly used components and methods.
yum install postgresql96-server postgresql96-contrib
After installation, the executable file is in /usr/pgsql-9.5/bin/, and the data and configuration file is in /var/lib/pgsql/9.6/data/
3. Initialize the database
/usr/pgsql-9.6/bin/postgresql96-setup initdb
4. By default, PostgreSQL does not support password login. If you need to support it, you need to modify the configuration file.
vi /var/lib/pgsql/9.6/data/pg_hba.conf
Replace ident in uncommented line with md5
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
To enable remote access, edit the /var/lib/pgsql/9.6/data/ file.
Will#listen_addresses = 'localhost'
Modified tolisten_addresses='*'
(Of course, here '*' can also be changed to any server IP you want to open)
In addition, for specific IPs, you can also set the trust remote connection to enable, modify /var/lib/pgsql/9.6/data/pg_hba.conf, and add settings in the following format.
# IPv4 local connections: host all all 127.0.0.1/32 trust host all all 8.8.8.8/32(The server that needs to be connected toIP) trust
Don't forget to restart the service after modifying the configuration.
5. Management services, like other services, still use systemd for management
systemctl start postgresql-9.6 #Start the servicesystemctl restart postgresql-9.6 #Restart the servicesystemctl stop postgresql-9.6 #Stop servicesystemctl enable postgresql-9.6 #Automatic start
6. Log in to PostgreSQL
After the PostgreSQL installation is completed, a ‘postgres’ user will be established to execute PostgreSQL. A ‘postgres’ user will be established in the database. If we want to use PostgreSQL, we must first log in to this account.
sudo -i -u postgres
After execution, the prompt will change to ‘-bash-4.2$’ and then run
Isomorphic execution enters psql and enters the postgresql command line environment.
[root@localhost ~]# sudo -i -u postgres -bash-4.2$ psql psql (9.6.1) Type "help" for help. postgres=#
Then it can be executedALTER USER postgres WITH PASSWORD '123456'
To set the postgres user password, you can exit the database through \q .
7. Open the firewall
The PostgreSQL service is built into the CentOS firewall. The configuration file location is in /usr/lib/firewalld/services/. Just open the PostgreSQL service in a service manner.
firewall-cmd --add-service=postgresql --permanent openpostgresqlServe firewall-cmd --reload Reloaded firewall
Summarize
The above is the entire content of this article. I hope the content of this article will be of some help to your study or work. If you have any questions, you can leave a message to communicate.