I have the following configuration in emacs init files to set a variable (
user) to the current Unix login user:
(setq sql-postgres-login-params `((user :default ,user-login-name) (database :default ,user-login-name) (server :default "127.0.0.1") (port :default 5432)))
With this, I was able to login into PostgreSQL databases with the Unix login user as the default database user. However, this stops working when the Unix user name contains dashes
-, and needs to be double-quoted. For example, in PostgreSQL, when the unix user is
myuser, it's OK to use it directly as the database user name. However, when the user name is
my-user, it needs to be quoted as
"my-user" to be used as a user name (or database name). My question is:
How can I make the
user-login-name in the above example quoted?
my-user, how do I use
I am not familiar with elisp, and the below is the best I can come up with (concatenating with
"\""s). But database login still fails.
(setq sql-postgres-login-params `((user :default ,(concat "\"" user-login-name "\"") ) (database :default ,(concat "\"" user-login-name "\"") ) (server :default "127.0.0.1") (port :default 5432)))