Install CentOS 7 under PostgreSQL 9.6 tutorial sharing
- 2020-05-06 11:57:10
- OfStack
Preface to
PostgreSQL is a powerful open source database system for object-relational types that runs on almost all major operating systems, including Linux, Unix(AIX, BSD, HP-UX, SGI IRIX, Mac OS, Solaris Tru64), Windows OS. I highly recommend PostgreSQL for new projects. Here's a quick rundown of the CentOS installation process.
CentOS comes with PostgreSQL in its source and can be accessed through yum list | grep postgresql
Check the version of the system, what I see here is 9.2 version, I still recommend to install the updated version.
installs
1, install yum source (address from http: / / yum. postgresql. org/repopackages php)
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
The latest version 9.6 is selected and yum update
is used after installation
Update the source information and then use yum list | grep postgresql
, whether there is 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
mingw32-postgresql.noarch 9.3.4-2.el7 epel
mingw64-postgresql.noarch 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
owncloud-postgresql.noarch 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
postgresql-jdbc.noarch 9.4.1212-1.rhel7 pgdg96
postgresql-jdbc-javadoc.noarch 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
python-testing.postgresql.noarch 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 core here is to install postgresql96-server and postgresql96-contrib. The "contrib" package contains some common components and methods.
yum install postgresql96-server postgresql96-contrib
After installation, executable files in/usr/pgsql - 9.5 / bin/data and configuration files in/var/lib/pgsql / 9.6 / data/
3. Initialize database
/usr/pgsql-9.6/bin/postgresql96-setup initdb
4. By default, PostgreSQL does not support password login. If necessary, the configuration file
needs to be modified
vi /var/lib/pgsql/9.6/data/pg_hba.conf
Replace ident in the 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
If you want to open a remote access, editable/var/lib/pgsql / 9.6 / data/postgresql conf file.
Will #listen_addresses = 'localhost'
changed to listen_addresses='*'
(of course, the '*' here can also be changed to any server you want to open.
In addition to specific IP open trust can also set the remote connection, modify/var lib/pgsql / 9.6 / data/pg_hba conf, adding setting according to the following format.
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 8.8.8.8/32 Servers to connect to IP ) trust
Don't forget to restart the service after you've changed the configuration.
5. Manage services. Like other services, systemd is still used to manage
systemctl start postgresql-9.6 # Start the service
systemctl restart postgresql-9.6 # Restart the service
systemctl stop postgresql-9.6 # Stop the service
systemctl enable postgresql-9.6 # Automatic startup
6. Log on to PostgreSQL
After PostgreSQL is installed, a 'postgres' user will be created to execute PostgreSQL, and an 'postgres' user will be created in the database. If we want to use PostgreSQL, we must log in to this account first.
sudo -i -u postgres
The prompt changes to '-bash -4.2$' and runs
Isomorphic execution into psql into postgresql command line environment.
[root@localhost ~]# sudo -i -u postgres
-bash-4.2$ psql
psql (9.6.1)
Type "help" for help.
postgres=#
You can then execute ALTER USER postgres WITH PASSWORD '123456'
To set the postgres user password, exit the database with \q .
7. Open the firewall
CentOS built-in PostgreSQL service in the firewall, the configuration file location in the/usr/lib/firewalld/services/postgresql xml, only way will be open PostgreSQL service by service.
[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
mingw32-postgresql.noarch 9.3.4-2.el7 epel
mingw64-postgresql.noarch 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
owncloud-postgresql.noarch 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
postgresql-jdbc.noarch 9.4.1212-1.rhel7 pgdg96
postgresql-jdbc-javadoc.noarch 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
python-testing.postgresql.noarch 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
0
summary
The above is all the content of this article, I hope the content of this article to your study or work can bring some help, if you have questions you can leave a message to exchange.