对象存储OSS入门教程
本文档包含以下内容: 开通 OSS 服务 创建存储空间 上传文件 分享文件 删除文件 删除存储空间 1.开通 OSS 服务 在使用阿里云 OSS 服务之前,确保您已经注册了阿里云账号并完成实名认证。如 … 对象存储OSS入门教程
本文档包含以下内容:
RDS for PostgreSQL实例连接 RDS for PostgreSQL数据迁入 RDS for PostgreSQL数据迁出 RDS for PostgreSQL用户及Schema管理 RDS for PostgreSQL功能限制
1.RDS for PostgreSQL实例连接
创建初始帐号
在完成实例购买之后,首先去登陆RDS管理控制台,创建“初始帐号”。 假设创建的账号为:myuser
命令行连接实例
在管理控制台的基本信息页面,可以找到实例的连接地址和端口,例如我们有如下实例: rds2z2tp80v3752wb455.pg.rds.aliyuncs.com:3433 有了实例连接串、端口、初始帐号、密码,就可以使用命令管理和操作实例了。
创建数据库
createdb -U myuser -h rds2z2tp80v3752wb455.pg.rds.aliyuncs.com -p 3433 pg001
连接数据库
psql -U myuser -h rds2z2tp80v3752wb455.pg.rds.aliyuncs.com -p 3433 pg001 Password for user myuser: psql.bin (9.4.4, server 9.4.1) Type “help” for help. pg001=>
注意事项
建议不要使用9.4.1以下的PostgreSQL客户端psql工具连接数据库,因为版本不匹配可能会导致很多功能无法使用,连接时会出现类似以下的提示:
WARNING: psql major version 9.3, server major version 9.4. Some psql features might not work.
2.RDS for PostgreSQL数据迁入
导出逻辑备份
通过ECS备份 pg_dump -U {user-name} -h {host-name} -p {port} {database-name} -f {file-name} 如:
pg_dump -U myuser -h localhost -p 5432 pg001 -f pg001.sql
将文件pg001.sql上传到一台可以连接目标RDS的ECS(如果文件太大可以先进行压缩)
将数据迁入RDS
登陆到你ECS服务器,通过以下命令将数据导入到RDS psql -U {user-name} -h {host-name} -d {desintation_db} -p {port} -f {dumpfilename.sql} 如:
psql -U myuser -h rds2z2tp80v3752wb455.pg.rds.aliyuncs.com -d pg001 -p 3433 -f pg001.sql
注意事项
由于云上的权限配置不一至,在数据导入过程当中可能会出现一些与权限相关的WARNING或ERROR,可以忽略,如:
WARNING: no privileges could be revoked for “xxxxx” ERROR: role “xxxxx” does not exist
3.RDS for PostgreSQL数据迁出
通过逻辑备份进行数据迁出
通过pg_dump导出逻辑备份
通过以下命令操作 pg_dump -U {user-name} -h {host-name} -p {port} {database-name} -f {file-name} 如:
pg_dump -U myuser -h rds2z2tp80v3752wb455.pg.rds.aliyuncs.com -p 3433 pg001 -f pg001.sql
将数据恢复到目标服务器
将pg001.sql放到目标服务器中,并进行以下命令操作 psql -U {user-name} -h {host-name} -d {desintation_db} -p {port} -f {dumpfilename.sql} 如:
psql -U myuser -h localhost -d pg001 -p 5432 -f pg001.sql
注意事项
由于云上的权限配置不一至,在数据导入过程当中可能会出现一些与权限相关的WARNING或ERROR,可以忽略,如:
WARNING: no privileges could be revoked for “xxxxx” ERROR: role “xxxxx” does not exist
4.RDS for PostgreSQL用户及Schema管理
在使用RDS的过程中,由于superuser关不完全放开,因此我们建议用户在使用数据库时遵循单独建立用户并通过schema管理用户的私有空间。以下DEMO中,myuser是建立实例时创建的管理帐号,newuser是当前需要新建的帐号。
建立有登陆权限的用户
CREATE USER newuser LOGIN PASSWORD ‘xxxxx’;
为新用户建立schema
CREATE SCHEMA newuser; GRANT newuser to myuser; ALTER SCHEMA newuser OWNER TO newuser; REVOKE newuser FROM myuser;
注意1:如果在进行ALTER SCHEMA newuser OWNER TO newuser之前没有将newuser加入到myuser角色,将会出现ERROR: must be member of role “newuser”的权限问题。 注意2:从安全角度出发,newuser这个用户在本DEMO定义为是一个普通的应用程序帐号,因此在处理完OWNER的授权后,将它移出myuser角色以提高安全性。
使用newuser登陆数据库
psql -U newuser -h rds2z2tp80v3752wb455.pg.rds.aliyuncs.com -p 3433 pg001 Password for user newuser: psql.bin (9.4.4, server 9.4.1) Type “help” for help. pg001=> select * from tb001; ERROR: permission denied for relation tb001 pg001=> create table tb002(c1 bigint); CREATE TABLE pg001=> insert into tb002 values (10); INSERT 0 1 pg001=> insert into tb002 values (11); INSERT 0 1 pg001=> insert into tb002 values (12); INSERT 0 1 pg001=> select * from tb002; c1 —- 10 11 12 (3 rows) pg001=> \dt List of relations Schema | Name | Type | Owner ———+——-+——-+——— newuser | tb002 | table | newuser public | tb001 | table | myuser (2 rows) pg001=> \q
5.RDS for PostgreSQL功能限制
为保障实例的稳定及安全,RDS for PostgreSQL有部分使用上的约束,详情如下:
操作 | RDS使用约束 |
---|---|
修改数据库参数设置 | 暂不支持 |
数据库的root权限 | RDS无法向用户提供superuser权限 |
数据库备份 | 只支持通过pg_dump进行数据备份 |
数据迁入 | 只支持通过psql还原由pg_dump备份的数据 |
搭建数据库复制 | 系统自动搭建了基于PostgreSQL流复制的HA模式,无需用户手动搭建 PostgreSQL Standby节点对用户不可见,不能直接用于访问 |
重启RDS实例 | 必须通过RDS管理控制台或OPEN API操作重启实例 |
转载请注明:小猪云服务器租用推荐 » 云数据库RDS快速入门教程(PostgreSQL)