harbor配置外部数据库postgresql

本文档详细介绍了在Linux环境中安装和配置PostgreSQL数据库的步骤,包括通过wget下载、手动上传、安装依赖、编译安装、创建用户、初始化数据库、修改配置、设置开机自启等过程,并提供了创建数据库、修改密码和连接测试的示例。同时,文章还提到了在配置Harbor时如何连接PostgreSQL以及测试连接的注意事项。
摘要由CSDN通过智能技术生成

1.安装postgresql

#两种方式安装:
①wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz(不推荐,下载非常慢)
②https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz
打开链接下载至本地,再通过winscp等软件上传至服务器(我上传到了/home目录下)
 
#安装依赖包
yum install -y cmake gcc gcc-c++ perl readline readline-devel openssl openssl-devel zlib zlib-devel ncurses-devel readline readline-devel zlib zlib-devel
 
#切换到上传目录,解压
cd /home
tar -zxvf postgresql-12.2.tar.gz
 
#然后你就可以看到一个postgresql-12.2的文件夹,用起来不方便,重命名
mv postgresql-12.2 postgresql
 
#配置安装目录,编译安装
cd /home/postgresql
./configure --prefix=/usr/local/pgsql
make && make install

2.创建postgres用户

这里又有很多坑。。。。。

1.创建用户密码

useradd postgres
passwd postgres

创建完会在home目录下有个postgres目录(之前就是不知道,然后把它删了,一直提示烦死了!)
后面还遇到过su - postgres失败,root下无法切换到这个普通用户,删了重建,重新赋予后面提到的权限就可以了

#删除用户
把postgres目录删除(别看错啊!不是带sql的那个)
/var/spool/mail/这个目录下的postgres也要删除!!

创建需要用到的目录

mkdir /usr/local/pgsql/data
mkdir /usr/local/pgsql/tmp
mkdir /usr/local/pgsql/log
#把data目录设置postgres组
chown -R postgres:postgres /usr/local/pgsql/data

设置postgres用户的环境变量

vim /home/postgres/.bash_profile
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

保存以后记得source更新
注意:PATH必须放最后(反正之前吃过这个坑,没放最后是没生效的)

3.初始化数据库(在postgres用户下)

初始化

initdb

然后就可以发现目录下多了很多文件

#修改默认的配置
vim /usr/local/pgsql/data/postgresql.conf
 
#数据目录
data_directory='/usr/local/pgsql/data'
 
#客户端可连接ip,默认为localhost,若不需要可不修改,*为所有
listen_addresses = '*'
 
#端口设置,我设置 5000,记得开放端口不然后面不给连接
port = 5000
 
unix_socket_directories = '/usr/local/pgsql/tmp'
unix_socket_group = ''
unix_socket_permissions = 0777
 
#内存大小
shared_buffers = 128MB
 
#时区修改
timezone = 'Asia/Shanghai'
 
#是否开启日志
logging_collector = on
 
#日志存放目录
log_directory ='/usr/local/pgsql/log'
 
#每个日志最大
size log_rotation_size = 20MB
 
#日志时区
log_timezone = 'Asia/Shanghai'
 
#记录执行时间大于100ms的sql及执行时间,相当于慢SQL日志
log_min_duration_statement = 100

上面修改的地方有些需要取消注释!我之前就是有几个地方忘了客户端就无法连接!!

连接数据库

pg_ctl start
如果有报错,把data父目录也赋予postgres组(无需递归)
 
psql -h 127.0.0.1 -p 5000 -U postgres
 
#修改postgres用户的密码
postgres=# \password postgres
Enter new password:
Enter it again:
 
#创建数据库
create database register;
create database notarysigner;
create database notaryserver;

数据库开启自启(root用户下操作)

PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下

1)修改linux文件属性,添加X属性
chmod a+x linux
 
2)复制linux文件到/etc/init.d目录下,更名为postgresql
cp linux /etc/init.d/postgresql
 
3)修改/etc/init.d/postgresql文件的两个变量(前面配过的话这里不需要改)prefix设置为postgresql的安装路径,PGDATA设置为postgresql的数据目录路径:
 
4) 启动并开启自启
service postgresql
start chkconfig --add postgresql

4.修改harbor配置

配置文件修改

vim harbor.yml
找到这个external_database(需要放开注释)
 
注意格式对齐,冒号后面是有空格的,IP改成你自己的
和上面创建的数据库对应

external_database:
    harbor: 
        host: IP
        port: 5000
        db_name: harbor
        username: postgres
        password: 042622
        ssl_mode: disable
        max_idle_conns: 50
        max_open_conns: 100
    notary_signer:
        host: IP
        port: 5000
        db_name: notarysigner
        username: postgres
        password: 042622
        ssl_mode: disable
        max_idle_conns: 50
        max_open_conns: 100
    notary_server:
        host: IP
        port: 5000
        db_name: notaryserver
        username: postgres
        password: 042622
        ssl_mode: disable
        max_idle_conns: 50
        max_open_conns: 100

有些教程需要改docker-compose.yml,看了一遍感觉不需要

执行sh install.sh

(./install.sh 不行,会有报错)

其他配置

如果数据库和服务不在同一台电脑,需要配置pg_hba.conf
加一行host  all   postgres  0.0.0.0/0   trust

5.测试

客户端连接测试

我是用navicat工具连接的
连接信息连接成功
这里就连接成功

harbor和psql的连接测试

如果启动harbor的话数据库会有相应表。。但是不会写sql非常尴尬。。。教程只有在命令行输入的。。。

psql -h 127.0.0.1 -p 5000 -U postgres

进入数据库
\c 数据库名
 
#查看该库有什么表
\dt

在这里插入图片描述
到这里就基本完成了。。。。欢迎分享~

 
对你有帮助的话三连支持下呗~~

  

参考博文1
参考博文2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yussio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值