
###################################################
#                                                 #
# Sample Pure-FTPd PostgreSQL configuration file. #
# See README.PGSQL for explanations.              #
#                                                 #
###################################################


# If PostgreSQL listens to a TCP socket

PGSQLServer     localhost
PGSQLPort       5432 


# *or* if PostgreSQL can only be reached through a local Unix socket

# PGSQLServer     /tmp
# PGSQLPort       .s.PGSQL.5432


# Mandatory : user to bind the server as.

PGSQLUser       postgres


# Mandatory : user password. You *must* have a password.

PGSQLPassword   rootpw


# Mandatory : database to open.

PGSQLDatabase   pureftpd


# Mandatory : how passwords are stored
# Valid values are : "cleartext", "argon2", "scrypt", "crypt", "md5", "sha1" and "any"

PGSQLCrypt      scrypt


# In the following directives, parts of the strings are replaced at
# run-time before performing queries :
#
# \L is replaced by the login of the user trying to authenticate.
# \I is replaced by the IP address the user connected to.
# \P is replaced by the port number the user connected to.
# \R is replaced by the IP address the user connected from.
# \D is replaced by the remote IP address, as a long decimal number.
#
# Very complex queries can be performed using these substitution strings,
# especially for virtual hosting.


# Query to execute in order to fetch the password

PGSQLGetPW      SELECT "Password" FROM users WHERE "User"='\L'


# Query to execute in order to fetch the system user name or uid

PGSQLGetUID     SELECT "Uid" FROM users WHERE "User"='\L'


# Optional : default UID - if set this overrides PGSQLGetUID

#PGSQLDefaultUID 1000


# Query to execute in order to fetch the system user group or gid

PGSQLGetGID     SELECT "Gid" FROM users WHERE "User"='\L'


# Optional : default GID - if set this overrides PGSQLGetGID

#PGSQLDefaultGID 1000


# Query to execute in order to fetch the home directory

PGSQLGetDir     SELECT "Dir" FROM users WHERE "User"='\L'


# Optional : query to get the maximal number of files 
# Pure-FTPd must have been compiled with virtual quotas support.

# PGSQLGetQTAFS  SELECT "QuotaFiles" FROM users WHERE "User"='\L'


# Optional : query to get the maximal disk usage (virtual quotas)
# The number should be in Megabytes.
# Pure-FTPd must have been compiled with virtual quotas support.

# PGSQLGetQTASZ  SELECT "QuotaSize" FROM users WHERE "User"='\L'


# Optional : ratios. The server has to be compiled with ratio support.

# PGSQLGetRatioUL SELECT "ULRatio" FROM users WHERE "User"='\L'
# PGSQLGetRatioDL SELECT "DLRatio" FROM users WHERE "User"='\L'


# Optional : bandwidth throttling.
# The server has to be compiled with throttling support.
# Values are in KB/s .

# PGSQLGetBandwidthUL SELECT "ULBandwidth" FROM users WHERE "User"='\L'
# PGSQLGetBandwidthDL SELECT "DLBandwidth" FROM users WHERE "User"='\L'
