In this tutorial, you will learn how to create an environment to run your PostgreSQL database (we call this environment an instance), connect to the database, and delete the DB instance. We will do this using Amazon Relational Database Service (Amazon RDS) and everything done in this tutorial is free-tier eligible.
a. In the top right corner of the Amazon RDS console, select the Region in which you want to create the DB instance.
Note: AWS Cloud resources are housed in highly available data center facilities in different areas of the world. You have the ability to choose which Region to host your Amazon RDS activity in.
b. In the Create database section, choose Create database.
c. You now have options to select your engine. For this tutorial, choose the PostgreSQL icon, choose Only enable options eligible for RDS Free Usage Tier and then click Next.
d. You will now configure your DB instance. The list below shows the example settings that you can use for this tutorial:
- License model: Select the default, postgresql-license.
- DB engine version: Select the default version.
- DB instance class: Select the default, db.t2.micro --- 1 vCPU, 1 GIB RAM. This equates to 1 GB memory and 1 vCPU. To see a list of supported instance classes, see Amazon RDS Product Details.
- Multi-AZ deployment: Note that you will have to pay for Multi-AZ Deployment. Using a Multi-AZ Deployment automatically provisions and maintains a synchronous standby replica in a different Availability Zone. For more information, see High Availability Deployment.
- Storage type: Select General Purpose (SSD). For more information about storage, see Storage for Amazon RDS.
- Allocated storage: Select the default of 20 to allocate 20 GB of storage for your database. You can scale up to a maximum of 16 TB with Amazon RDS.
- Enable storage autoscaling: If your workload is cyclical or unpredictable, you would enable storage autoscaling to enable RDS to automatically scale up your storage when needed. This option does not apply to this tutorial.
- DB instance identifier: Type a name for the DB instance that is unique for your account in the Region you selected. For this tutorial, we will name it rds-postgresql-10minTutorial.
- Master username: Type a username that you will use to log in to your DB instance. We will use masterUsername in this example.
- Master password: Type a password that contains from 8 to 41 printable ASCII characters (excluding /,", and @) for your master user password.
- Confirm password: Retype your password.
e. You are now on the Configure advanced settings page where you provide additional information that RDS needs to launch your PostgreSQL DB instance. The list below shows settings for our example DB instance.
- Virtual Private Cloud (VPC): Select Default VPC. For more information about VPC, see Amazon RDS and Amazon Virtual Private Cloud (VPC).
- Subnet group: Choose the default subnet group. For more information about subnet groups, see Working with DB Subnet Groups.
- Public accessibility: Choose Yes. This will allocate an IP address for your database instance so you can directly connect to the database from your own device.
- Availability zone: Choose No preference. See Regions and Availability Zones for more details.
- VPC security groups: Select Create new VPC security group. This will create a security group that will allow connection from the IP address of the device that you are currently using to the database created.
- Database name: Type a database name that is 1 to 64 alphanumeric characters. If you do not provide a name, Amazon RDS will not automatically create a database on the DB instance you are creating. For this tutorial, use myDatabase.
- Port: Leave the default value of 5432.
- DB parameter group: Use the default value. For more information, see Working with DB Parameter Groups.
- Option group: This option is not available in the free tier. Amazon RDS uses option groups to enable and configure additional features. For more information, see Working with Option Groups.
- IAM DB authentication: Select Disable. This option allows you to manage your database credentials through AWS IAM users and groups.
This option is not available in the free tier. For more information, see Encrypting Amazon RDS Resources.
- Backup retention period: You can choose the number of days to retain the backup you take. For this tutorial, set this value to 1 day.
- Backup window: Use the default of No preference.
- Enhanced monitoring: Select Enable enhanced monitoring. Enabling enhanced monitoring will give you metrics in real time for the operating system (OS) that your DB instance runs on. For more information, see Viewing DB Instance Metrics.
Select Disable Performance Insights for this tutorial.
- Auto minor version upgrade: Select Enable auto minor version upgrade to receive automatic updates when they become available.
- Maintenance window: Select No preference.
Clear Enable deletion protection for this tutorial. When this option is enabled, you can't delete the database.
Click Create database.
f. Your DB Instance is now being created. Click View Your DB Instances.
Note: Depending on the DB instance class and storage allocated, it could take several minutes for the new DB instance to become available.
The new DB instance appears in the list of DB instances on the RDS console. The DB instance will have a status of creating until the DB instance is created and ready for use. When the state changes to available, you can connect to a database on the DB instance.
Feel free to move on to the next step as you wait for the DB instance to become available.
After the database instance creation is complete and the status changes to available, you can connect to a database on the DB instance using any standard SQL client. In this step, we will download SQL Workbench, which is a popular SQL client.
Note: Remember to run SQL Workbench from the same device on the same network from which you created the DB Instance. The security group your database is placed in is configured to allow connection only from the device from which you created the DB instance. If you try to connect from a different network or device, your IP address would have changed. Your database can be configured to be accessed from any IP address (see details here), but for this tutorial we will keep it simple.
a. After you have completed your download, install SQL Workbench.
Note: You can launch the application using the .exe file (Windows) or the shell script (macOS, Linux) included in the download folder. See the PDF file included in the download for details.
b. Open the program. A dialog box appears. Enter the following:
- Driver: PostgreSQL (org.postgresql.Driver)
Note: When you select a driver from the drop-down menu you will be prompted to edit the driver definition. Select Yes. In the next dialog box, click the folder icon and select the driver you downloaded in the previous step.
- URL: You can find your JDBC URL on the Amazon RDS console as shown in the screenshot to the right. Enter or paste the endpoint (including port) of the DB Instance after "jdbc:postgresql://". Finally, append a forward slash and the name of your data base instance to the end of the URL. For example, our URL could be jdbc:postgresql://postgresql-instance1.cg034hpkmmjt.us-east-1.rds.amazonaws.com/myDatabase.
- Username: Type in the username you created for the Amazon RDS database. In this tutorial, it is 'masterUsername.'
- Password: Enter the password that you used when creating the Amazon RDS database.
c. You are now connected to the database. From your Amazon RDS Console, select your instance from the Databases list and you should see that there is "1 Connection" to your database listed under the Current activity heading.
Note: At this point your database is ready to use. You can start creating tables, insert data, and run queries from SQL Workbench client.
You can easily delete the PostgreSQL DB Instance from the Amazon RDS console. It is a best practice to delete instances that you are no longer using so that you don’t keep getting charged for them.
a. Go back to your Amazon RDS Console. Select Databases, choose the instance that you want to delete, and then select Delete from the Actions dropdown menu.
b. You are asked to create a final snapshot and to confirm the deletion. For our example, do not create a final snapshot, acknowledge that you want to delete the instance, and then click Delete.
Note: Deleting your DB Instance may take a few minutes.
You have created, connected to, and deleted a PostgreSQL Database Instance with Amazon RDS. Amazon RDS makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while managing time-consuming database administration tasks, freeing you up to focus on your applications and business.