尝试连接到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数据库实例

广告
将在 10 秒后关闭
bannerAds