Postgres Database too large to start service
Try start with --single-mode to truncate (PG document)

Usage

postgres --single -D /usr/local/pgsql/data other-options my_database


Note


  The postgres command can also be called in single-user mode. The
  primary use for this mode is during bootstrapping by initdb. Sometimes
  it is used for debugging or disaster recovery; note that running a
  single-user server is not truly suitable for debugging the server,
  since no realistic interprocess communication and locking will happen.
  When invoked in single-user mode from the shell, the user can enter
  queries and the results will be printed to the screen, but in a form
  that is more useful for developers than end users. In the single-user
  mode, the session user will be set to the user with ID 1, and implicit
  superuser powers are granted to this user. This user does not actually
  have to exist, so the single-user mode can be used to manually recover
  from certain kinds of accidental damage to the system catalogs.
  
  Note that the single-user mode server does not provide sophisticated
  line-editing features (no command history, for example). Single-User
  mode also does not do any background processing, like automatic
  checkpoints.


Example

postgres@xxx-yyy$ ./bin/postgres --single  -D data/ postgres

PostgreSQL stand-alone backend 9.6.0
backend&gt; truncate t1 ;
2016-11-23 07:53:17.340 UTC: proc=18481,user=,db=,host=LOG:  statement: truncate t1 ;
backend&gt; vacuum full t1 ;
2016-11-23 07:56:44.541 UTC: proc=19135,user=,db=,host=LOG:  statement: vacuum full t1 ;


In terms of postgres process related to this mode

ps -ef | grep postgres
postgres 19135  4510  0 07:56 pts/1    00:00:00 /opt/PostgreSQL/9.6/bin/postgres --single -D data/ postgres


If --single-mode does not help you, please add more space (as @ypercube mentioned), then start postgres server and truncate data.