有些服务是不支持 MySQL 的,PostgreSQL 就是备选
安装依赖
1 2
| yum install gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel patch make yum install readline-devel
|
下载解压
1 2
| wget --no-check-certificate https://ftp.postgresql.org/pub/source/v15.0/postgresql-15.0.tar.gz tar -zxvf postgresql-15.0.tar.gz
|
编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| cd postgresql-15.0 ./configure --prefix=/app/service/pgsql make && make install
./configure --prefix=/app/service/pgsql \ --with-pgport=5432 \ --with-openssl --with-tcl \ --with-perl \ --with-python \ --with-libxml \ --with-libxslt \ --with-ossp-uuid \ --with-pam --with-ldap
|
开始使用
使用之前可以先设置环境变量,让命令可以全局使用,否则就要带上完整路径
环境变量
1 2 3
| echo "export PGSQL_HOME=/app/service/pgsql" >> ~/.bashrc echo "export PATH=\$PATH:\$PGSQL_HOME/bin" >> ~/.bashrc source ~/.bashrc
|
初始化数据库
1 2 3
| mkdir -pv /app/data/pgsql && mkdir -pv /app/logs/pgsql initdb -D /app/data/pgsql --encoding=UTF8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8
|
修改配置文件
基本配置:/app/data/pgsql/postgresql.conf
1 2
| listen_addresses = '*' log_directory = '/app/logs/pgsql'
|
grep -Ev “^$|#” /app/data/pgsql/postgresql.conf
访问权限:/app/data/pgsql/pg_hba.conf
服务启停
1 2 3
| pg_ctl -D /app/data/pgsql -l logfile start pg_ctl -D /app/data/pgsql -l logfile stop pg_ctl -D /app/data/pgsql -l logfile restart
|
常用命令
1 2
| psql -h 127.0.0.1 -d postgres -U app -p 5432
|
命令 |
说明 |
\l |
查看数据库列表 |
\c 数据库名 |
切换数据库 |
\du |
查看用户 |
\dt |
查看表 |
\d |
查看表结构 |
\di |
查看索引 |
\c - user |
切换用户 |
实践
创建 SonarQube 数据库及用户
1 2 3 4 5 6 7 8
| #新建用户 sonarqube,密码xxxxxx create user sonarqube with password '12345678'; #创建数据库 sonarqube 并指定 owner 为 sonarqube create database sonarqube with owner sonarqube; #授权 sonarqube 用户在数据库 sonarqube 拥有所有权限 grant all on database sonarqube to sonarqube; GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube; ALTER USER sonarqube SET search_path to sonarqube;
|
https://www.runoob.com/postgresql/postgresql-tutorial.html