尝试连接到AWS上的RDS(PostgreSQL)
简述或概况
我使用AWS的RDS连接到了PostgreSQL。
前提条件
在创建RDS时,基本上所有参数设置都是默认的。
此外,连接方法是通过使用EC2实例作为跳板服务器来连接RDS。
马上尝试连接
将psql客户端安装在EC2上。
请确认已安装PostgreSQL 9.6。
本次将使用amazon-linux-extra软件包。
[root@ip-10-0-1-10 ~]# amazon-linux-extras list | grep postgre
5 postgresql9.6 available \
6 postgresql10 available [ =10 =stable ]
41 postgresql11 available [ =11 =stable ]
58 postgresql12 available [ =stable ]
59 postgresql13 available [ =stable ]
[root@ip-10-0-1-10 ~]#
由于可以使用的状态,我们将进行安装。
[root@ip-10-0-1-10 ~]# amazon-linux-extras install postgresql9.6
Installed:
postgresql.x86_64 0:9.6.22-1.amzn2.0.1
Dependency Installed:
postgresql-libs.x86_64 0:9.6.22-1.amzn2.0.1
Complete!
5 postgresql9.6=latest enabled \
[ =9.6.6 =9.6.8 =stable ]
[root@ip-10-0-1-10 ~]# psql --version
psql (PostgreSQL) 9.6.22
安装Postgresql服务器
仅仅具备使用psql的能力是无法进行设置的。为了进行设置,还需要安装postgresql-server,因此也会进行安装。
[root@ip-10-0-1-10 ~]# yum list | grep postgresql-server
postgresql-server.x86_64 9.6.22-1.amzn2.0.1 amzn2extra-postgresql9.6
[root@ip-10-0-1-10 ~]# yum install postgresql-server
Installed:
postgresql-server.x86_64 0:9.6.22-1.amzn2.0.1
Complete!
[root@ip-10-0-1-10 ~]# which postgresql-setup
/usr/bin/postgresql-setup
进行Postgre客户端的设置
[root@ip-10-0-1-10 ~]# /usr/bin/postgresql-setup initdb
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
[root@ip-10-0-1-10 ~]# systemctl start postgresql
[root@ip-10-0-1-10 ~]# systemctl status postgresql
● postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-07-30 14:25:58 UTC; 4s ago
Process: 4045 ExecStartPre=/usr/libexec/postgresql-check-db-dir %N (code=exited, status=0/SUCCESS)
Main PID: 4047 (postmaster)
CGroup: /system.slice/postgresql.service
├─4047 /usr/bin/postmaster -D /var/lib/pgsql/data
├─4050 postgres: logger process
├─4052 postgres: checkpointer process
├─4053 postgres: writer process
├─4054 postgres: wal writer process
├─4055 postgres: autovacuum launcher process
└─4056 postgres: stats collector process
Jul 30 14:25:58 ip-10-0-1-10.ap-northeast-1.compute.internal systemd[1]: Star...
Jul 30 14:25:58 ip-10-0-1-10.ap-northeast-1.compute.internal postmaster[4047]: ...
Jul 30 14:25:58 ip-10-0-1-10.ap-northeast-1.compute.internal postmaster[4047]: ...
Jul 30 14:25:58 ip-10-0-1-10.ap-northeast-1.compute.internal systemd[1]: Star...
Hint: Some lines were ellipsized, use -l to show in full.
进行psql连接
-bash-4.2$ psql \
> --host=database-2.c5jqncbegdvz.ap-northeast-1.rds.amazonaws.com \
> --port=5432 \
> --username=postgres \
> --password \
> --dbname=TESTDB
Password for user postgres:
psql (9.6.22)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
TESTDB=>
请参考
连接到使用psql的PostgreSQL数据库实例