Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrSSLKeyUnknownOwnership = errors.New("pq: could not get owner information for private key, may not be properly protected") ErrSSLKeyHasWorldPermissions = errors.New("pq: private key has world access; permissions should be u=rw,g=r (0640) if owned by root, or u=rw (0600), or less") )
var WarnFD io.Writer = os.Stderr
Functions ¶
func CheckPermissions ¶ added in v1.12.0
func ErrNotExists ¶ added in v1.12.0
ErrNotExists reports if err is a "path doesn't exist" type error.
fs.ErrNotExist is not enough, as "/dev/null/somefile" will return ENOTDIR instead of ENOENT.
func Home ¶
func Home() string
Home gets the PostgreSQL configuration dir in the user's home directory: %APPDATA%/postgresql on Windows, and $HOME/.postgresql/postgresql.crt everywhere else.
Returns an empy string if no home directory was found.
Matches pqGetHomeDirectory() from PostgreSQL. https://github.com/postgres/postgres/blob/2b117bb/src/interfaces/libpq/fe-connect.c#L8214
func Pgpass ¶
Pgpass gets the filepath to the pgpass file to use, returning "" if a pgpass file shouldn't be used.
func SSLKeyPermissions ¶
SSLKeyPermissions checks the permissions on user-supplied SSL key files, which should have very little access. libpq does not check key file permissions on Windows.
If the file is owned by the same user the process is running as, the file should only have 0600. If the file is owned by root, and the group matches the group that the process is running in, the permissions cannot be more than 0640. The file should never have world permissions.
Returns an error when the permission check fails.
Types ¶
This section is empty.