Git Stash in Egit

Just found you can do "git stash" in Egit

It's 'hidden in the "Git Repository view": '

Image found from the above stackoverflow link.

How to fetch all tags from Git Server using EGit?

You will need to follow the same procedure for all the project that you have.
  1. Right-click on a project ⇒ Click on "Team" ⇒ Click on "Fetch from Upstream"

  2. Click on "Configure"

  3. Click on "Advanced"

  4. Click on "Always fetch tags, even if we do not have the thing it points at"

Change The Location of PostgreSQL Database Store Its Table and Index

Find a way to split the postgres database into different partitions.
Two main use case [1]
  1. First, if the partition or volume on which the cluster was initialized runs out of space and cannot be extended, a tablespace can be created on a different partition and used until the system can be reconfigured.
  2. Second, tablespaces allow an administrator to use knowledge of the usage pattern of database objects to optimize performance. For example, an index which is very heavily used can be placed on a very fast, highly available disk, such as an expensive solid state device. At the same time a table storing archived data which is rarely used or not performance critical could be stored on a less expensive, slower disk system.

To Create a Tablespace

CREATE TABLESPACE fastspace LOCATION '/mnt/sda1/postgresql/data';

To Change the Tablespace of an Existing Table and Index

The following psql command will create a list of alternate table command to change the table's tablespace [2]
-- tabelspace is null - find table that doesn't have any tablespace set
select 'alter table '||schemaname||'.'||tablename||' set tablespace fastspace;' from pg_tables where schemaname='myschema' and tablespace is null;
select 'alter index '||schemaname||'.'||indexname||' set tablespace fastspace;' from pg_indexes where schemaname='myschema' and tablespace is null;

It will return something similar to this
 alter table myschema.table1 set tablespace fastspace;
 alter table myschema.table2 set tablespace fastspace;
 alter table myschema.table3 set tablespace fastspace;
(3 rows)
 alter index 
myschema.index1 set tablespace fastspace;
 alter index 
myschema.index2 set tablespace fastspace;
 alter index 
myschema.index2 set tablespace fastspace;
(3 rows)
 Then just run each generated command to change/set the tablespace.


Config Git Default Setting

Some Git configurations I need to set every time I re-install OS, cygwin or in a new system

User Name
git config --global "Your Name"
User Email
git config --global
Default Editor (I prefer vi)
git config --global core.editor vi
Colorized Git Output (when using a terminal)
git config --global color.ui auto
Pager Indentation Width (I like it to be 4 characters)
git config --global core.pager 'less -x4'
Sample output of 'git diff HEAD~' when color.ui is set to auto
HEAD is at - 2ae48a9bb87193de9e9da10abd9e7286c0e4c43d
git running in cygwin on Win7

Edited on 2015.03.27: Added "Pager Indentation Width"