尝试使用 AWS Aurora PostgreSQL

首先

以下是我使用 Aurora 的机会,按照我自己的方式做出尝试的笔记。

创建数据库

在管理控制台上,点击”创建数据库”,选择创建方式和引擎类型。选择 PostgreSQL 兼容的版本。

create-1.png

选择最新的13.6引擎版本。由于这是用于验证的,所以选择“开发/测试”模板。

create-2.png

请填写以下必要信息。在登录时需要验证身份。

create-3.png

为了进行验证,选择通用的小型实例类型。

create-4.png

选择适当的VPC等。

create-5.png

我們將按照默認設置繼續進行。

create-6.png

数据库名称是默认创建的数据库。如果为空,则不会创建。登录后,需要手动创建,所以留空。

create-7.png

为了进行验证,我们将对加密、性能洞察和禁用进行设置。

create-8.png

当将维护窗口设为”选择窗口”时,您可以自定义维护期间。

create-9.png

点击”创建数据库”按钮。

create-10.png

连接到 Aurora 数据库

获取Aurora分片的端点

复制Writer实例的终端节点。

connect-1.png

安装 PostgreSQL 客户端

    PostgreSQL クライアントをインストールする
sudo amazon-linux-extras install -y postgresql13

另外,如果想要在特定的版本上重新安装,请按照以下步骤进行操作:首先卸载 PostgreSQL 13,然后安装 PostgreSQL 12。

postgresql13 クライアントをアンインストールする

sudo yum remove $(yum list installed | grep amzn2extra-postgresql13 | awk '{ print $1 }')
    アンインストールされたことを確認する
[ec2-user@ip-172-31-8-7 ~]$ psql
-bash: /usr/bin/psql: No such file or directory

amazon-linux-extras でインストール可能なトピックを確認する

[ec2-user@ip-172-31-8-7 ~]$ amazon-linux-extras list | grep 'postgresql'
  5  postgresql9.6            available    \
  6  postgresql10             available    [ =10  =stable ]
 41  postgresql11             available    [ =11  =stable ]
 58  postgresql12             available    [ =stable ]
 59  postgresql13=latest      enabled      [ =stable ]

postgresql13 トピックを非有効化する

sudo amazon-linux-extras disable postgresql13

postgresql12 クライアントをインストールする

sudo amazon-linux-extras install -y postgresql12

即使在未禁用的情况下安装 PostgreSQL 12,也会安装 PostgreSQL 13。

[ec2-user@ip-172-31-8-7 ~]$ psql --version
psql (PostgreSQL) 13.3

登录服务器

psql コマンドでサーバにログインする。パスワードを聞かれるので入力する。

psql

-h ・・・ サーバのホスト名

-p ・・・ ポート番号

-U ・・・ ログインユーザー名

-d ・・・ 接続先データベース

psql -h database-1-instance-1.xxxxxxxx.ap-northeast-1.rds.amazonaws.com -p 5432 -U postgres -d postgres

增删改查 – 示例

    • DB を作成する

CREATE DATABASE

postgres=> CREATE DATABASE mydb;
CREATE DATABASE
postgres=> \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 mydb      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 rdsadmin  | rdsadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin
 template0 | rdsadmin | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin          +
           |          |          |             |             | rdsadmin=CTc/rdsadmin
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(5 rows)
    DB を切り替える
postgres=> \c mydb
    • テーブルを作成する。(大文字でテーブル名を作成したい場合、ダブルクォーテーションで囲う)

CREATE TABLE
作成した後、\d でテーブル一覧を表示する。

mydb=> CREATE TABLE "movies" (
  title  varchar(100) PRIMARY KEY,
  year   integer
);
CREATE TABLE
mydb=> \d
         List of relations
 Schema |  Name  | Type  |  Owner
--------+--------+-------+----------
 public | movies | table | postgres
(1 row)
    • 行を挿入する

INSERT

mydb=> INSERT INTO movies (title, year) VALUES ('Fight Club', 1999);
INSERT 0 1
mydb=> INSERT INTO movies VALUES ('Frozen', 2013);
INSERT 0 1
    • テーブルの全データを表示する

SELECT

mydb=> SELECT * FROM movies;
   title    | year
------------+------
 Fight Club | 1999
 Frozen     | 2013
(2 rows)
    • テーブルの全行を削除する

DELETE

mydb=> DELETE FROM movies;
DELETE 2
    • テーブルを削除する

DROP TABLE

mydb=> DROP TABLE movies;
DROP TABLE
mydb=> \d
Did not find any relations.
    ログアウト
mydb=> \q

获取和恢复快照

点击”获取快照”。

snapshot-1.png

请提供所需的信息,然后点击”获取快照”。

snapshot-2.png

如果想要进行恢复,选择想要恢复的快照,并点击“恢复快照”。

snapshot-3.png

请输入识别号码。

snapshot-5.png

选择实例类型。

snapshot-6.png

点击“还原数据库集群”。

使用 CloudFormation 创建 Aurora PostgreSQL。

我使用CloudFormation创建了Aurora PostreSQL。

AWSTemplateFormatVersion: 2010-09-09
Resources:
  AuroraCluster:
    Type: 'AWS::RDS::DBCluster'
    Properties:
      Engine: aurora-postgresql
      EngineMode: provisioned
      EngineVersion: '13.6'
      MasterUsername: postgres
      MasterUserPassword: PostgresAdmin1!
  AuroraInstance:
    Type: 'AWS::RDS::DBInstance'
    Properties:
      Engine: aurora-postgresql
      DBInstanceClass: db.t3.medium
      DBClusterIdentifier: !Ref AuroraCluster

以下是模板执行的结果。

cfn-1.png

请参阅此文

 

广告
将在 10 秒后关闭
bannerAds