如何运行远程客户端连接postgresql数据库
在服务器上安装了一个postgresql的数据库,但是,然后在本地,通过pgAdmin客户端去连接它时,总是报错,一直连接不上。后咨询同事,得知修改两处配置文件,这两个文件均在postgresql安装目录下的data文件夹中,具体修改如下:
① pg_hbaconf 文件,在文件的最下方加上下面的这句话
Conf代码 收藏代码
host all all 0000/0 md5
② postgresqlconf文件,查找“listen_addresses ”字符串,然后修改为如下:
Conf代码 收藏代码
listen_addresses = ''
重启postgres服务,试试看吧
如果经过上面的设置,还是不能远程连接的话,那么,有可能是因为服务器开启了防火墙。那么,请在防火墙中为 5432 这个端口放行。
1 安装openssl yum install openssl
2 生成 openssl genrsa -des3 -out serverkey 1024(密码记住,生成完毕后用openssl rsa -in serverkey -out serverkey移除密码)
3 更改权限
chmod 400 serverkey
chown postgres:postgres serverkey
4 生成证书crt文件证书内容自己改
openssl req -new -key serverkey -days 3650 -out servercrt -x509 -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrainca/CN=thebrainca/emailAddress=info@thebrainca'
cp servercrt rootcrt
5 将三个文件serverkey servercrt rootcrt复制到pgdata目录
6 编辑postgresqlconf 文件:
ssl = on
ssl_ca_file = 'rootcrt'
ssl_cert_file = 'servercrt'
ssl_key_file = 'serverkey'
7修改pg_hbaconf
hostssl all postgres 0000/0 md5 clientcert=1
8重启服务
systemctl restart postgresql-10
以上工作为服务端配置,接下来要配置客户端的证书
在服务器上生成客户端的证书:
9 生成私钥openssl genrsa -des3 -out /tmp/postgresqlkey 1024(移除密码命令:openssl rsa -in /tmp/postgresqlkey -out /tmp/postgresqlkey)
10 创建客户端证书postgresqlcrt,该证书必须用服务器上的rootcrt签名,同时一定注意证书的Common Name(CN)必须与访问服务器的用户名一致:
openssl req -new -key /tmp/postgresqlkey -out /tmp/postgresqlcsr -subj '/C=CA/ST=British Columbia/L=Comox/O=TheBrainca/CN=pgUser'
openssl x509 -req -in /tmp/postgresqlcsr -CA rootcrt -CAkey serverkey -out /tmp/postgresqlcrt -CAcreateserial
11 把/tmp目录下面的上述三个文件包括rootcrt一起复制到客户端:~/postgresql/(windows下面为%appdata%\postgresql\)
12 注意删除服务器上面/tmp目录下面生成的文件。
一、安装准备
1安装介绍可浏览PostgreSQL在Windows
平台下的下载页面,了解各种下载和安装PostgreSQL的方法。
在Windows上安装PostgreSQL最简单的方法是从前面的下载页面下载由EnterpriseDB公司维护的一键安装程序,这个安装程序将在Windows上安装一个已编译好的PostgreSQL数据库软件、一个图形界面的管理程序pgAdmin、可选择的有附加功能的增值模块和过程语言。另外一个名叫StackBuilder的软件也会安装上,它可以帮助你下载或安装附加模块,如ODBC或JDBC驱动
2安装环境Win7旗舰版64位
postgresql-924-1-windows-x64exe
二、安装过程1
开始安装2
选择安装目录3
选择数据存放目录
4选择数据存放目录
该目录在以后的使用过程中可以修改调整。5
输入超级用户口令6
监听端口号设置
默认即可,以后使用中可以通过修改postgresqlconf进行调整。7
高级选项-语言环境设置选择Default locale
即可,中文简体
新加坡(Chinese[Simplified],
Singapore)未做尝试,据说会导致查询结果和排序效果不正确。8
安装进度9
安装结束之后可以利用
Stack Builder工具安装PostgreSql相关插件、驱动或工具。
选择<远程服务器
进行软件下载及安装。
至此,完整软件包的安装结束。
设置POSTGRES服务器,允许远程访问:
1检测是否已开通这项服务。
netstat -anp | grep pos
如结果中包含tcp, 5432(端口),证明已经开通,否则继续。
2在postgresqlconf文件中,加入
tcpip_socket=true
3配置pg_hbaconf文件
Services Management”即“服务”中停止相应的PostgreSQL服务 方式二:通过命令行“NET STOPpostgresql-x64-91”停止相应的PostgreSQL服务Step 2:修改注册表对应键值位置在"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-91 \ImagePath ",将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。Step 3:数据迁移 拷贝数据至新数据目录,需要注意必须检查用户权限是否可于访问新的数据目录。Step 4:开启PostgreSQL服务 或者使用命令行命令“NETSTARTpostgresql-x64-91”[Linux]修改postgresqlconf文件, data_directory = ' 新数据目录名' ,然后重启postgresql服务即可。 修改完毕后,可以用psql命令“showdata_directory”查看当前数据目录
1、服务器需要一定的处理器能力来处理大量的并发请求,对于小型平台,一颗4核心或6核心的CPU就足够了,对于大型平台,需要更高效的CPU,如8核心或更多。
2、服务器需要足够的内存来缓存数据和处理请求,对于小型平台,建议至少8GB的内存,对于大型平台,建议至少16GB或更多的内存。
3、服务器需要足够的存储空间来存储数据和日志,对于小型平台,建议至少使用500GB的硬盘,对于大型平台,建议使用SSD硬盘来提高读写速度和响应性能。
4、服务器需要足够的带宽来处理网络请求和传输数据,对于小型平台,建议至少使用100Mbps的带宽,对于大型平台,建议使用千兆或更高速的带宽。
5、服务器需要运行稳定、可靠的操作系统。
6、如果平台需要使用数据库,需要选择可靠的数据库系统,如MySQL、PostgreSQL等。
0条评论