After obtaining a machine with MacOS Lion in it, here are the applications that look absolutely mandatory.
This list is more a memo than anything, but you could find it useful.

  • ClamXav, a free open-source antivirus. This can be downloaded from the AppleStore. Scans are light and quick.
  • LibreOffice, great free ressource for documentation, and has no Oracle logo included with it.
  • Xcode, a free development kit for Mac applications. It includes a gcc compiler, and can be found in the AppleStore.
  • iterm(2), alternative for terminal knowing that the default terminal in MacOS is a pain to use. iterm is not fully compatible with MacOSX Lion but iterm2 can be a solution.
  • vlc, a video viewer ressource. I’m with it for a couple of years, and it has always been astonishing light and fast.
  • MacPorts, an alternative way to manage packages with command line.
  • Minecraft, no comments on this one…

And that’s all…

pg_regress is a PostgreSQL test module that permits to check if you have done correctly an installation of a PostgreSQL server.

Until now, the development of Postgres-XC has been focused on scalability and performance, without always checking if implementation sticked with PostgreSQL standards.
However, in order to be able to consider Postgres-XC as a product, it has to pass those regression tests.
This is also the easiest way to check if it respects the SQL rules protected by PostgreSQL, making it a user-friendly software.

So, why passing regression tests?

  1. Prove that XC can be stable
  2. Improve efficiency of the implementation of new functionalities. All the SQL test cases are already in the regression tests, so checking if an implementation is correct is faster and secured. Passing also regression tests makes the basics of Postgres-XC really stronger.

Well, are those regression tests sufficient?
No, they are a base to protect the basics of the cluster product when running SQL queries. As a cluster, Postgres-XC needs tests for:

  1. High-availability (node failure, security)
  2. performance (write-scalability)
  3. regression tests specific to Postgres-XC (CREATE TABLE has been extended with DISTRIBUTE BY [REPLICATION | HASH(column) | ROUNDROBIN | MODULO(column)])

Let’s talk a little bit more about pg_regress.

All its files are located in src/test/regress.
The most common usage made is an installation check, what would basically consist in typing the following command in src/test/regress:
make installcheck
This command allows to launch regression tests on a PostgreSQL server having the default port 5432 open.
./pg_regress --inputdir=. --dlpath=. --multibyte=SQL_ASCII --psqldir=/home/ioltas/pgsql/bin --schedule=./serial_schedule

Let’s have a look at what makes pg_regress… You can find the following folders:

  • data, all the external data used for mainly COPY
  • input, input data for SQL queries that depend on the environment where regression tests are launched: COPY, TABLESPACE… Those files have the suffix .source, and are saved in folder sql after generation
  • output, output files whose content are modified depending on the environment where regressions are installed
  • expected, all the expected results. Those files have the prefix .out and have the same prefix name as the sql or source files
  • sql, all the files containing the SQL queries to run for regression tests. They have the same prefix name as the corresponding expected result files .out.

For Postgres-XC, as the default table type is round robin, or hash if the first column can be distributed, the order of output data for SELECT queries cannot be controlled.
As regressions have to give the same results whatever the cluster configuration (it cannot depend on the number of Coordinators and Datanodes), SELECT queries are sometimes completed with ORDER BY.
For some types where ORDER BY has no effect like box or point, the table is created as a replicated one (use of keyword DISTRIBUTE BY REPLICATION at the end of CREATE TABLE).

There are 121 test cases that have to be checked in pg_regress.
Most of them can be corrected based on the current limitations of Postgres-XC (update, delete, case, guc…).
But some of them require more fundamental work (select_having, subselect, returning).
Others are currently making the cluster entering in a stall state (errors, constraints).

This is a huge task. But once this is completed,
Postgres-XC will have the base that will make it a great cluster product!

Woah, the latest version of your favorite Linux-based Operating System is available! This means that after installing it you will have at your disposition all the new fashioned applications and cool additional functionalities.

For beginners, the idea is to cut your hard disk into several pieces allowing each part to be erased or to be modified without touching anything on other parts. It permits to protect some parts of your hard disk.

However, you have to flush the entire disk of your machine just to install the new one. And it is a pain to put a backup of your 100 Go collection of music and movies on an external disk.
You spent also so much time setting your environment that doing it once again looks like a real waste of time. Everything you did to achieve an environment close to perfection will be wasted with your disk data…
Perhaps you feel that installing the latest OS is a pain just for that.

To avoid such a situation, you have the possibility to install your OS while preserving your personal data. How? Read the following lines.

Following screenshots are taken from Ubuntu 10.04 LTS installer. But it is possible to do similar operation with other distributions as well (Centos, Suze, Fedora…).
The machine used is a Virtual machine of 8 Go of Disk and 512 Mo of shared memory.

After initializing the installation with language choice, keyboard setting, or whatever, you will be asked to prepare your disk space.
For your case, choose the option Specify partitions manually.

You will be redirected to a new screen. This is the place when you will set your partitions. Now Create a new partition table on the disk you want.
In the case of my virtual machine, I have only one disk. It is also the case for most of laptops used.

You will see free space created from your hard disk (here 8 Go). This space is going to be cut into smaller pieces. So click on Add.

The first mounting point (the place in the directory folder where you base the access of this part of the disk), has to be what is called root, the lowest level. This is identified by “/”. Here we use 4 Go as disk space, feel free to enter a value adapted to your needs.
In the option “use as”, you can find a list of system files. For instance Windows uses NTFS partitions for its install. In our case, ext3 can make the deal. You can also use ext4 if you wish.
This partition is going to contain the programs you install and Operating System data. That’s why it is the primary partition.

Set up your partition as on the screen below. Then click on OK.

You will be back to the main screen, add a new partition with Add

The second partition is called swap. You have basically to put a memory space equal to 2 times the amount of shared memory of your system.
In our case, the virtual machine has 500 Mo, so we set 1000 Go. Check how much shared memory you have before setting it. After setting it click on OK.

You will be back to the main screen, so let’s go to set up the 3rd partition. Add a new partition.

This partition has to use “/home/” as a mounting point. In Linux based systems, home is the directory containing all the users data. So basically it is the partition of the disk that has to be kept independant and not erased when you reinstall a new OS.
For our case, the disk was empty, so a new partition existed. But if you reinstall a new OS on a disk already partition, don’t forget to associate “/home/” as a mounting point for this partition. This permits to keep user’s data safe with your environment settings also if you are reinstalling the same type of distribution as before (Always try to keep a gnome or KDE desktop!).
Use the rest of amount of memory for this partition.

OK, you are done, congratulations!

What you have to remember about the partitions:

  • One used as a root, mounted at “/”. This can be erased each time you want to make a fresh install.
  • Swap area, always two times equal to the shared memory of your machine. This can also be erased when you do a fresh install.
  • One partition mounted at “/home”. When you reinstall an OS, do not erase the data on it!
© 2012 Michael Paquier All content is ©Copyright of Otacoo.com 2010-2012. Privacy Policy - Terms of Use