Centos7安装PostgreSQL 9.4

Centos7安装PostgreSQL 9.4

不同的系统和版本,可以参考:https://www.postgresql.org/download/linux/redhat/
选择对应的版本和安装步骤指导。
不同的pg版本安装步骤,会稍微有点区别,参考官方的步骤指导。总体上差不多。我这里以pg9.4为例。

Centos7安装PostgreSQL 9.4

1.Install the repository RPM(添加RPM)
yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm

2.安装PostgreSQL Server packages:
yum install postgresql94-server postgresql94-contrib

3.设置自启动&启动数据库
systemctl enable postgresql-9.4.service 
systemctl start  postgresql-9.4.service

查看版本
psql --version
su - postgres
$psql -version
/usr/pgsql-9.4/bin/psql --version
SELECT version();
SHOW server_version;
SHOW server_version_num;

4.查看数据库状态
systemctl status postgresql-9.4.service

5.查看日志:
cat /var/log/message
日志文件的位置,systemctl status postgresql-9.4.service查看

6.初始化db
/usr/pgsql-9.4/bin/postgresql94-setup initdb

7.修改配置数据库的监听IP
vim /var/lib/pgsql/9.4/data/postgresql.conf 
listen_addresses ='*'

8.修改安全配置文件、允许远程访问数据库指定网段(如果只允许指定主机,则利用32位掩码配置)
vim /var/lib/pgsql/9.4/data/pg_hba.conf 
# IPv4 local connections: host    all             all             127.0.0.1/32            trust
host    all             all             192.168.100.0/24        trust 

或者直接修改为允许所有访问:
host    all             all             0.0.0.0/0               trust

9.重新加载配置:
/usr/pgsql-9.4/bin/pg_ctl reload

10.重启数据库
systemctl restart postgresql-9.4

11.修改用户密码:
su - postgres
psql -U postgres
ALTER USER postgres WITH PASSWORD '1q2w3e'
\q

修改密码后重启数据库:
systemctl restart postgresql-9.4

12.配置系统防火墙开启远程访问端口
su postgres

vim /usr/lib/firewalld/services/postgres94.xml



        Postgres 9.4 Database service
        Postgres
       

firewall-cmd --permanent --add-service=postgres94
firewall-cmd --permanent --add-service=postgresql
firewall-cmd --permanent --add-port=5432/tcp       //也可以直接通过端口开放的方式来配置
firewall-cmd --reload
firewall-cmd --list-services
firewall-cmd --list-ports

查看数据库端口监听状态:
netstat -an | grep 5432


===================  PostgreSQL常用命令 ===========================

创建新用户来访问PostgreSQL
# su - postgres
$ psql
postgres=#
现在位于数据库提示符下

显示所有数据库(相当于show databases;)
postgres=# \l

创建数据库新用户,如 dbuser:
postgres=# CREATEUSER testuser WITH PASSWORD '1q2w3e';
注意:语句要以分号结尾,密码要用单引号括起来。

创建用户数据库
postgres=# CREATE DATABASE testdb01 OWNER testuser;

将数据库的所有权限赋予用户
postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb01 TO testuser;
postgres=# \q

获取当前db中所有的表信息:
select * from pg_tables;

查看用户的所有表(用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下)
postgres=# select tablename from pg_tables where schemaname='public';

创建表:
postgres=# create table test01( 
id integer not null, name character(255) not null,
price decimal(8,2) not null,
primary key(id)
);

插入数据
postgres=# insert into test01(id,name,price) values (1,'a',11.5),(2,'b',20.3);

查看表结构
\d test01;

查看表的数据
select * from test01;

============================================
Centos7安装PostgreSQL 9.5

yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm

yum install postgresql95-server postgresql95-contrib

/usr/pgsql-9.5/bin/postgresql95-setup initdb

systemctl enable postgresql-9.5.service

systemctl start postgresql-9.5.service

psql --version

su - postgres
psql -U postgres
ALTER USER postgres WITH PASSWORD '1q2w3e'
\q

vi /var/lib/pgsql/9.5/data/postgresql.conf
listen_addresses = '*'

vi /var/lib/pgsql/9.5/data/pg_hba.conf
host    all            all      192.168.100.0/24  trust

systemctl restart postgresql-9.5.service

firewall-cmd --zone=public --permanent --add-port=5432/tcp
firewall-cmd --reload

============================================
Centos7安装PostgreSQL 11.6

参考官方的指导:https://www.postgresql.org/download/linux/redhat/

安装:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql11
yum install postgresql11-server
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start  postgresql-11
systemctl status postgresql-11   //可以看到配置文件默认路径位置:/var/lib/pgsql/11/data/

Postgresql默认的安装目录是/usr/pgsql-11,而默认的数据目录(PGDATA)是/var/lib/pgsql/11/data/,如果默认数据目录空间不够的话可以修改指定数据目录。
注意:如果初始化数据库的时候使用了自定义数据目录,那么在注册服务(service)前需要修改服务脚本中的默认的PGDATA路径
vim /usr/lib/systemd/system/postgresql-11.service
Environment=PGDATA=/var/lib/pgsql/11/data/
将默认路径改为你自定义数据目录,然后再注册数据库服务并启动:
systemctl daemon-reload          //重新加载服务的unit配置文件(服务配置文件修改生效配置)
systemctl enable postgresql-11   //服务自动启动开启
systemctl start postgresql-11    //启动服务
systemctl stop postgresql-11     //停止服务
systemctl disable postgresql-11  //服务自动启动关闭


配置:
su - postgres
psql -U postgres
ALTER USER postgres WITH PASSWORD '1q2w3e'
\q

vim /var/lib/pgsql/11/data/postgresql.conf
listen_addresses = '*' 

vim /var/lib/pgsql/11/data/pg_hba.conf
host   all             all              192.168.100.0/24       trust 

systemctl restart  postgresql-11

firewall-cmd --zone=public --permanent --add-port=5432/tcp
firewall-cmd --reload
 

你可能感兴趣的:(数据库,postgresql,数据库,linux)