通过命令行连接FlexusRDS for PostgreSQL实例
操作场景
FlexusRDS for PostgreSQL实例购买完成后,可以先登录到Flexus云服务器X实例,在Flexus云服务器X实例上安装PostgreSQL客户端,然后通过psql命令行连接到实例。
通过客户端连接FlexusRDS for PostgreSQL实例(15及以下版本)
- 登录与FlexusRDS实例在同一区域下的Flexus云服务器X实例。
- 安装PostgreSQL客户端。
PostgreSQL社区提供了针对不同操作系统的客户端安装方法。通过操作系统的安装工具直接下载安装。此安装方式比较简单,但是对ECS操作系统有要求,只有PostgreSQL社区中支持的操作系统才可以使用该安装方式。
使用操作系统默认安装,当前使用的Linux操作系统是CentOS 7,通过工具安装最高版本是15版本。
图1 获取安装工具
执行安装命令:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo yum install -y postgresql15-server
查看是否安装成功:
psql -V
图2 安装成功
- 在Flexus云服务器X实例上执行以下命令连接FlexusRDS for PostgreSQL实例。
psql --no-readline -U<user>-h<host>-p<port>-d<datastore>-W
示例:
psql --no-readline -U root -h 192.168.0.44 -p 5432 -d postgres -W
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例默认在同一个VPC、子网、安全组下。对应网络信息:vpc-default-smb、subnet-default-smb、sg-default-smb。
表1 参数说明 参数
说明
<host>
内网连接和公网连接任选一种,推荐使用内网连接,安全性更高。
- 内网连接(推荐):单击实例名称,在“概览”页面获取的内网地址。
- 公网连接:单击实例名称,在“概览”页面获取的弹性公网IP。绑定弹性公网IP的操作,请参见FlexusRDS for PostgreSQL实例绑定和解绑弹性公网IP。
使用弹性公网IP连接数据库实例时,必须要将弹性公网IP和5432端口加入安全组“sg-default-smb”的入方向规则。具体操作,请参见添加安全组规则。
<port>
5432。
<user>
root。
<datastore>
postgres。
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例在不同VPC下。
表2 参数说明 参数
说明
<host>
不同VPC下内网不通,使用公网连接。
单击实例名称,在“概览”页面获取的弹性公网IP。绑定弹性公网IP的操作,请参见FlexusRDS for PostgreSQL实例绑定和解绑弹性公网IP。
使用弹性公网IP连接数据库实例时,必须要将弹性公网IP和5432端口加入安全组的入方向规则。具体操作,请参见添加安全组规则。
<port>
5432。
<user>
root。
<datastore>
postgres。
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例默认在同一个VPC、子网、安全组下。对应网络信息:vpc-default-smb、subnet-default-smb、sg-default-smb。
- 出现如下提示时,输入root账号对应的密码。
Enter password:
通过源码连接FlexusRDS for PostgreSQL实例(对版本没有限制)
- 登录与FlexusRDS实例在同一区域下的Flexus云服务器X实例。
- 安装PostgreSQL客户端。
源码安装方式,该安装方式对RDS for PostgreSQL实例的版本以及ECS的操作系统没有限制。
下面以Huawei Cloud EulerOS 2.0镜像的ECS为例,安装PostgreSQL 16.4版本客户端。
图3 查看ECS镜像
- 要支持SSL,需要在ECS上提前下载openssl。
sudo yum install -y openssl-devel
- 在官网获取代码下载链接,使用wget直接下载安装包或者下载到本地后上传到ECS上。
wget https://ftp.postgresql.org/pub/source/v16.4/postgresql-16.4.tar.gz
- 解压安装包。
tar xf postgresql-16.4.tar.gz
- 编译安装。
cd postgresql-16.4 ./configure --without-icu --without-readline --without-zlib --with-openssl make -j 8 && make install
不指定--prefix,表示默认路径为“/usr/local/pgsql”,因为只安装客户端采用最简安装。
图4 编译安装
- 配置环境变量,在“/etc/profile”文件中添加以下内容。
export PATH=/usr/local/pgsql/bin:$PATH export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH source /etc/profile
- 测试psql是否可使用。
psql -V
图5 测试psql可用
- 要支持SSL,需要在ECS上提前下载openssl。
- 在Flexus云服务器X实例上执行以下命令连接FlexusRDS for PostgreSQL实例。
psql --no-readline -U<user>-h<host>-p<port>-d<datastore>-W
示例:
psql --no-readline -U root -h 192.168.0.44 -p 5432 -d postgres -W
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例默认在同一个VPC、子网、安全组下。对应网络信息:vpc-default-smb、subnet-default-smb、sg-default-smb。
表3 参数说明 参数
说明
<host>
内网连接和公网连接任选一种,推荐使用内网连接,安全性更高。
- 内网连接(推荐):单击实例名称,在“概览”页面获取的内网地址。
- 公网连接:单击实例名称,在“概览”页面获取的弹性公网IP。绑定弹性公网IP的操作,请参见FlexusRDS for PostgreSQL实例绑定和解绑弹性公网IP。
使用弹性公网IP连接数据库实例时,必须要将弹性公网IP和5432端口加入安全组“sg-default-smb”的入方向规则。具体操作,请参见添加安全组规则。
<port>
5432。
<user>
root。
<datastore>
postgres。
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例在不同VPC下。
表4 参数说明 参数
说明
<host>
不同VPC下内网不通,使用公网连接。
单击实例名称,在“概览”页面获取的弹性公网IP。绑定弹性公网IP的操作,请参见FlexusRDS for PostgreSQL实例绑定和解绑弹性公网IP。
使用弹性公网IP连接数据库实例时,必须要将弹性公网IP和5432端口加入安全组的入方向规则。具体操作,请参见添加安全组规则。
<port>
5432。
<user>
root。
<datastore>
postgres。
- Flexus云服务器X实例和FlexusRDS for PostgreSQL实例默认在同一个VPC、子网、安全组下。对应网络信息:vpc-default-smb、subnet-default-smb、sg-default-smb。
- 出现如下提示时,输入root账号对应的密码。
Enter password: