docs: def db_create(name,
                user=None,
                host=None,
                port=None,
                maintenance_db=None,
                password=None,
                tablespace=None,
                encoding=None,
                lc_collate=None,
                lc_ctype=None,
                owner=None,
                template=None,
                runas=None):
      '''
      Adds a databases to the Postgres server.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' postgres.db_create 'dbname'
  
          salt '*' postgres.db_create 'dbname' template=template_postgis
  
      '''
  
      # Base query to create a database
      query = 'CREATE DATABASE "{0}"'.format(name)
  
      # "With"-options to create a database
      with_args = salt.utils.odict.OrderedDict([
          ('TABLESPACE', _quote_ddl_value(tablespace, '"')),
          # owner needs to be enclosed in double quotes so postgres
          # doesn't get thrown by dashes in the name
          ('OWNER', _quote_ddl_value(owner, '"')),
          ('TEMPLATE', template),
          ('ENCODING', _quote_ddl_value(encoding)),
          ('LC_COLLATE', _quote_ddl_value(lc_collate)),
          ('LC_CTYPE', _quote_ddl_value(lc_ctype)),
      ])
      with_chunks = []
      for key, value in with_args.items():
          if value is not None:
              with_chunks += [key, '=', value]
      # Build a final query
      if with_chunks:
          with_chunks.insert(0, ' WITH')
          query += ' '.join(with_chunks)
  
      # Execute the command
      ret = _psql_prepare_and_run(['-c', query],
                                  user=user, host=host, port=port,
                                  maintenance_db=maintenance_db,
                                  password=password, runas=runas)
      return ret['retcode'] == 0