postgresql在liunx系统安装部署测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32447301/article/details/83538994

一、下载postgresql

wget https://ftp.postgresql.org/pub/source/v10.3/postgresql-10.3.tar.gz

二、下载zlib,因为安装报错

http://www.zlib.net/

类似的错误:

configure: error: readline library notfound
If you have readline already installed, see config.log for detailson the
failure.  It is possible the compiler isnt lookingin the proper directory.
Use --without-readline to disable readlinesupport.

三、安装zlib

 tar zlib-1.2.11
 cd zlib-1.2.11/
 ./configure  
 make && make install

四、安装postgresql

./configure --prefix=/home/postgreSql10 --without-readline
make && make install

五、创建postgres用户与组

groupadd postgres
useradd -g postgres postgres
chown postgres:postgres /home/pgdatabase -R

六、修改环境变量

export PGHOME=/home/postgresql/postgresql-10.3
export PGDATA=/home/postgresql/postgresql-10.3/pgdatabase
export PATH=$PATH:$HOME/bin:/home/postgreSql10/bin
export PG_PATH=/home/postgreSql10/bin
export PATH=$PG_PATH:$PATH

在这里插入图片描述
加入后通过按 esc 按:wq保存并退出,通过source /etc/profile

七、初始化数据库

initdb -D  /home/postgresql/postgresql-10.3/pgdatabase   -E UTF-8 --locale=zh_CN.UTF-8

八、修改配置进行远程连接
8.1、修改postgresql.conf
在这里插入图片描述在这里插入图片描述将行开头都#去掉,将行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求。
8.2、修改pg_hba.conf
在这里插入图片描述在这里插入图片描述表示允许网段0.0.0.0上的所有主机使用所有合法的数据库用户名访问数据库,
md5并提供加密的密码验证

host    all             all             0.0.0.0/0               md5

trust意思不用密码验证

扫描二维码关注公众号,回复: 4023174 查看本文章
host    all             all             0.0.0.0/0              trust

九、启动 PostgreSQL
先切换用户
在这里插入图片描述启动

 pg_ctl -D /home/super/soft/pgdatabase/ start

关闭

pg_ctl -D /home/super/soft/pgdatabase/ stop

重启

pg_ctl -D /home/super/soft/pgdatabase/ reload

10、 查看当前数据库的状态

ps -ef|grep postgres

11、连接数据库

psql -p 5432 -U postgres -d postgres
create database test;

12、修改密码

ALTER USER postgres with encrypted password '123456';

13、springboot+postgresql的演示
项目目录
在这里插入图片描述
pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.citydo</groupId>
    <artifactId>postgresql</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>postgresql</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>


    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

application.properties配置

spring.datasource.url=jdbc:postgresql://127.0.0.1:54321/testscmdb?useSSL=false
spring.datasource.username=postgres
spring.datasource.password=123456
spring.datasource.driver-class-name=org.postgresql.Driver

#解决java.sql.SQLFeatureNotSupportedException: 这个 org.postgresql.jdbc.PgConnection.createClob() 方法尚未被实作。
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults = false

controller层

package com.citydo.postgresql.controller;


import java.util.List;
import com.citydo.postgresql.dao.UserRepository;
import com.citydo.postgresql.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class LoginController {

    @Autowired
    private UserRepository userRepository;


    @RequestMapping(value="/user")
    public List<User> userList(){
        return userRepository.findAll();
    }
}

dao层

package com.citydo.postgresql.dao;
import com.citydo.postgresql.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Integer>{
}

model层

package com.citydo.postgresql.model;

import javax.persistence.*;

@Entity
@Table(name="user", schema = "public")
public class User {

    @Id
    @GeneratedValue
    @Column(name="id")
    private int id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private  int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

大功告成
在这里插入图片描述
<参考:https://blog.csdn.net/yaoqiancuo3276/article/details/80212760>

猜你喜欢

转载自blog.csdn.net/qq_32447301/article/details/83538994