centos7下安装pgsql和pgadmin

匿名 (未验证) 提交于 2019-12-02 23:34:01

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

https://www.pgadmin.org/ 官网链接

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 
文章来源: https://blog.csdn.net/qq_40806784/article/details/90301075
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!