You are now connected to database "mail". mail=# mail=# -- virtual mailboxes mail=# CREATE TABLE mailbox ( mail(# usernameVARCHAR(128) NOT NULL, mail(# domain mail(# domainVARCHAR(128) NOT NULL, mail(# passwordCHAR(32) NOT NULL, mail(# quota mail(# quotaINTEGER DEFAULT 1024 NOT NULL, mail(# active mail(# activeBOOLEAN DEFAULT true NOT NULL, mail(# PRIMARY KEY (username, domain) mail(# ); ERROR: syntax error at or near "(" LINE 2: usernameVARCHAR(128) NOT NULL, ^ mail=# mail=# -- virtual mailbox aliases mail=# CREATE TABLE mailbox_aliases ( mail(# address mail(# addressVARCHAR(256) PRIMARY KEY, mail(# dest_usernameVARCHAR(128) NOT NULL, mail(# dest_domainVARCHAR(128) NOT NULL, mail(# active mail(# activeBOOLEAN DEFAULT true NOT NULL, mail(# FOREIGN KEY (dest_username, dest_domain) REFERENCES mailbox (username, domain) ON DELETE CASCADE mail(# ); ERROR: syntax error at or near "(" LINE 2: addressVARCHAR(256) PRIMARY KEY, ^ mail=# mail=# -- relay domains mail=# CREATE TABLE mailbox_relay_domains ( mail(# domain mail(# domainVARCHAR(256) PRIMARY KEY, mail(# active mail(# activeBOOLEAN DEFAULT true NOT NULL mail(# ); ERROR: syntax error at or near "(" LINE 2: domainVARCHAR(256) PRIMARY KEY, ^ mail=# mail=# mail=# mail=# -- grant permissions mail=# GRANT SELECT ON mailbox TO dovecot; ERROR: relation "mailbox" does not exist mail=# GRANT SELECT ON mailbox,mailbox_aliases,mailbox_relay_domains TO postfix; ERROR: relation "mailbox" does not exist mail=# mail=# -- create virtual domain mail=# -- currently virtual domains doesn't work for me mail=# INSERT INTO domains_relay_domains VALUES ('tingletingle.de'); ERROR: relation "domains_relay_domains" does not exist LINE 1: INSERT INTO domains_relay_domains VALUES ('tingletingle.de')... ^ mail=# mail=# -- create user mail=# INSERT INTO mailbox VALUES ('test','tingletingle.de','MD5 Hash of password'); ERROR: relation "mailbox" does not exist LINE 1: INSERT INTO mailbox VALUES ('test','tingletingle.de','MD5 Ha... ^ mail=# mail=# -- create virtual aliases mail=# INSERT INTO mailbox_aliases VALUES ('postmaster@tingletingle.de', 'test', 'tingletingle.de'); ERROR: relation "mailbox_aliases" does not exist LINE 1: INSERT INTO mailbox_aliases VALUES ('postmaster@tingletingle... ^ mail=# INSERT INTO mailbox_aliases VALUES ('root@tingletingle.de', 'test', 'tingletingle.de'); ERROR: relation "mailbox_aliases" does not exist LINE 1: INSERT INTO mailbox_aliases VALUES ('root@tingletingle.de', ... ^ mail=# INSERT INTO mailbox_aliases VALUES ('example@tingletingle.de', 'test', 'tingletingle.de'); ERROR: relation "mailbox_aliases" does not exist LINE 1: INSERT INTO mailbox_aliases VALUES ('example@tingletingle.de... ^ mail=# INSERT INTO mailbox_aliases VALUES ('abuse@tingletingle.de', 'test', 'tingletingle.de'); ERROR: relation "mailbox_aliases" does not exist LINE 1: INSERT INTO mailbox_aliases VALUES ('abuse@tingletingle.de',... ^ mail=# mail=# -- create roundcube and database mail=# CREATE USER roundcube ENCRYPTED password 'RoundcubePassword'; ERROR: role "roundcube" already exists mail=# CREATE DATABASE webmail WITH OWNER roundcube; ERROR: database "webmail" already exists mail=# \c - roundcube psql (8.4.17) You are now connected to database "mail" as user "roundcube". mail=> mail=> -- create tables etc for roundcube mail=> \i /usr/local/www/roundcube/SQL/postgres.initial.sql /usr/local/www/roundcube/SQL/postgres.initial.sql: No such file or directory mail=> mail=> -- exit psql mail=> \q