你提到的 “Ubuntu sqladmin” 通常有两种理解,下面分别说明,最常见的是 PostgreSQL 的 sqladmin 用户或角色权限设置。
sqladmin(用户/角色)sudo -u postgres psql
\du
CREATE ROLE sqladmin WITH LOGIN PASSWORD 'strongpassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO sqladmin;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO sqladmin;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO sqladmin;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT ALL PRIVILEGES ON TABLES TO sqladmin;
ALTER ROLE sqladmin WITH SUPERUSER;
sqladminsudo adduser sqladmin
sudo usermod -aG sudo sqladmin
通常 不要给 sudo,而是:
psqlpg_hba.conf 控制访问permission denied for table xxx
解决:
GRANT SELECT, INSERT, UPDATE ON table_name TO sqladmin;
检查:
sudo nano /etc/postgresql/*/main/pg_hba.conf
确保有:
host all sqladmin 0.0.0.0/0 md5
为了更精准回答,请补充:
sqladmin 是 系统用户还是数据库用户?我可以直接给你一条命令级别的操作方案。