1 添加只读账号
使用有管理权限的账号登录数据库后
> create role readonly with login passwrod 'yourpassword';
> alter role readonly set default_transaction_read_only=true;
> GRANT CONNECT ON DATABASE db_name TO readonly;
> ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;
2 修改 postgresql 配置, 在 /etc/postgresql/9.3/main/ 目录下(9.3改为实际使用的postgresql 版本)
在 pg_hba.conf添加一行:
host db_name readonly yourip/24 md5
在 postgresql.conf 中修改
listen_addresses = '*'
3 如果使用了ufw 记得开放端口
sudo ufw allow from yourip to any port 5432
以上说明:
readonly 为你的 postgresql 只读账户名;
yourpassword 修改为 实际要设置的密码;
db_name 为实际的数据库名
yourip 为访问数据库时的 ip