在学习PostgreSQL的过程中,发现PgSQL中可以设置一些系统环境变量,以及同名的数据库、同名的数据库用户,对于新手来说可能回产生一些困扰。
一、系统用户、角色、数据库
系统用户:指操作系统用户,在cat /etc/passwd中可以查看的用户。比方说超级用户 root 、执行PgSQL的用户postgre、执行mysql的用户mysql等。
角色:数据库中的用户,在psql的 shell 中可以通过 select rolname from pg_roles; 查看到的用户。
数据库:数据库名,可以通过psql -l 查看。
二、可设置的系统环境变量
PGDATABASE:默认的数据库
PGHOST:默认host
PGPORT:默认port
PGUSER:默认user
PGDATA:默认的data目录
三、实际中的应用
# initdb # createdb / dropdb # psql 涉及到系统环境变量的,则优先级最高,其次同名的数据库和用户,再次是使用-D -U指定.