https://www.postgresql.org/download/linux/redhat/ 官网链接
安装pgsql数据库
依此按照相应得选参数,之后一条一条命令的跑就行了。
修改pg_hba.conf
sudo vim /var/lib/pgsql/data/pg_hba.conf 插入一行:host all all 0.0.0.0/0 md5
说明:
配置文件目录可能带版本号,比如pgsql/9.5/data这种,自己找一下。
hba means host-based authentication
默认情况下,PostgreSQL不允许password authentication,不允许非localhost的主机,不允许远程登录。(所谓默认情况就是PostgreSQL刚装好时候conf文件里写的情况。)
插入的那一行,格式为CONNECTIONTYPE DATABASE USER ADDRESS METHDO
字段含义、各字段可选值、配置方式直接参考conf文件的注释。
提一句,ADDRESS那里自己配一下,不要太放开了,md5即用密码认证身份登录。
修改postgresql.conf
sudo vim /var/lib/pgsql/data/postgresql.conf 改一行:listen_addresses = '*'
说明:
postgresql.conf文件中涉及诸如:最大连接数、监听地址,监听端口、日志、内存、硬盘等等各种设置。文件注释详细,自己按需修改,用不到的先不做了解。
监听地址原值为localhost,这时只能本机访问,改成*或0.0.0.0或逗号分隔字符串都行。
很多值是change requires restart,需要重启postgresql-9.5服务(要带版本号)。
重启postgresql服务
systemctl restart postgresql-9.5.service 或者sudo service postgresql-9.5 restart
说明:
重启服务使之前修改的配置生效。
安装可视化工具pgadmin
docker安装
首先在centos7上安装docker,具体的可以百度,文章太多了。
https://hub.docker.com/r/dpage/pgadmin4/ pgadmin的docker链接
pull命令
docker pull dpage/pgadmin4
运行
环境变量
容器将在启动时接受以下变量:
PGADMIN_DEFAULT_EMAIL
这是设置初始管理员帐户以登录pgAdmin时使用的电子邮件地址。此变量是必需的,必须在启动时设置。
PGADMIN_DEFAULT_PASSWORD
这是设置初始管理员帐户以登录pgAdmin时使用的密码。此变量是必需的,必须在启动时设置。
PGADMIN_ENABLE_TLS
默认:
如果未设置,容器将在端口80上侦听纯文本连接。如果设置为任何值,容器将在端口443上侦听TLS连接。
启用TLS时,必须提供证书和密钥。通常,这些应存储在主机文件系统上并从容器中安装。预期的路径是/certs/server.crt和/certs/server.key
PGADMIN_LISTEN_PORT
默认值:80或443(如果启用了TLS)
允许将服务器侦听的端口设置为特定值,而不是使用默认值。
GUNICORN_THREADS
默认值:25
调整Gunicorn服务器用于处理传入请求的线程数。这通常应保持原样,除非在可能增加的高负载系统中。
映射文件和目录
可以将以下文件或目录从容器映射到主机上,以允许在实例之间自定义和共享配置:
在/ var / lib中/ pgAdmin的
这是pgAdmin存储会话数据,用户文件,配置文件及其配置数据库的工作目录。将此目录映射到主机上可以轻松地在两者之间维护配置
调用容器。
/pgadmin4/config_local.py
此文件可用于覆盖pgAdmin中的配置设置。如果需要,可以使用特定于部署的值覆盖config.py中的设置。
/pgadmin4/servers.json
如果映射了此文件,则将在启动时加载其中找到的服务器定义。这允许将连接信息预先加载到容器中的pgAdmin实例中。注意,服务器定义仅在首次启动时加载,即在创建配置数据库时加载,而不是在使用相同配置数据库的后续启动时加载。请注意,服务器定义仅在首次启动时加载,即在创建配置数据库时加载,而不是在使用相同配置数据库的后续启动时加载。
/certs/server.cert
如果启用了TLS,则此文件将用作服务器TLS证书。
/certs/server.key
如果启用了TLS,则此文件将用作服务器TLS证书的密钥文件。
例子
在端口80上运行一个简单的容器:
docker pull dpage/pgadmin4 docker run -p 80:80 \ -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \ -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \ -d dpage/pgadmin4
使用主机上/ private / var / lib / pgadmin中的共享配置/存储目录运行TLS安全容器,并从主机上的/tmp/servers.json预加载服务器:
docker pull dpage/pgadmin4 docker run -p 443:443 \ -v "/private/var/lib/pgadmin:/var/lib/pgadmin" \ -v "/path/to/certificate.cert:/certs/server.cert" \ -v "/path/to/certificate.key:/certs/server.key" \ -v "/tmp/servers.json:/servers.json" \ -e "PGADMIN_DEFAULT_EMAIL=user@domain.com" \ -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" \ -e "PGADMIN_ENABLE_TLS=True" \ -d dpage/pgadmin4