Moving from MySQL to PostgreSQL

Moving from MySQL to PostgreSQL

Some Differences Between PostgreSQL + MySQL

In general, PostgreSQL makes a strong effort to conform to existing database standards, where MySQL has a mixed background on this. If you're coming from a background using MySQL or Microsoft Access, some of the changes can seem strange (such as not using double quotes to quote string values).

  • MySQL uses nonstandard '#' to begin a comment line; PostgreSQL doesn't. Instead, use '–' (double dash), as this is the ANSI standard, and both databases understand it.
  • MySQL uses ' or " to quote values (i.e. WHERE name = "John"). This is not the ANSI standard for databases. PostgreSQL uses only single quotes for this (i.e. WHERE name = 'John'). Double quotes are used to quote system identifiers; field names, table names, etc. (i.e. WHERE "last name" = 'Smith').
  • MySQL uses ` (accent mark or backtick) to quote system identifiers, which is decidedly non-standard.
  • PostgreSQL is case-sensitive for string comparisons. The field "Smith" is not the same as the field "smith". This is a big change for many users from MySQL and other small database systems, like Microsoft Access. In PostgreSQL, you can either:
    • Use the correct case in your query. (i.e. WHERE lname='Smith')
    • Use a conversion function, like lower() to search. (i.e. WHERE lower(lname)='smith')
    • Use a case-insensitive operator, like ILIKE or ~*
  • Database, table, field and columns names in PostgreSQL are case-independent, unless you created them with double-quotes around their name, in which case they are case-sensitive. In MySQL, table names can be case-sensitive or not, depending on which operating system you are using.
  • PostgreSQL and MySQL seem to differ most in handling of dates, and the names of functions that handle dates.
  • MySQL uses C-language operators for logic (i.e. 'foo' || 'bar' means 'foo' OR 'bar', 'foo' && 'bar' means 'foo' and 'bar'). This might be marginally helpful for C programmers, but violates database standards and rules in a significant way. PostgreSQL, following the standard, uses || for string concatenation ('foo' || 'bar' = 'foobar').
  • There are other differences between the two, such as the names of functions for finding the current user. MySQL has a tool, Crash-Me, which can useful for digging this out. (Ostensibly, Crash-Me is a comparison tool for databases; however, it tends to seriously downplay MySQL's deficiencies, and isn't very objective in what it lists: the entire idea of having procedural languages (a very important feature for many users!) is relegated to a single line on the bottom fifth of the document, while the fact that MySQL allows you to use || for logical-or (definitely non-standard), is listed way before this, as a feature. Be careful about its interpretations.)

Read more

CodeIgniter Rocks

CodeIgniter Rocks
CodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to create full-featured web applications.

Why CodeIgniter?


Framework with a small footprint

CodeIgniter 3 has a 2MB download, including the user guide.

Clear documentation

The CodeIgniter User Guide comes with the download. It contains an introduction, tutorial, a number of “how to” guides, and then reference documentation for the components that make up the framework.

Compatibility with standard hosting

CodeIgniter 3 only needs PHP 5.3.7, and plays nicely with almost all shared or dedicated hosting platforms. Many webapps need a database, and CodeIgniter supports the most common, including MySQL.

No restrictive coding rules

Use your own coding and naming conventions, with only a few caveats that deal with classname conflicts. CodeIgniter looks to empower you, not shackle you.

Simple solutions over complexity

CodeIgniter encourages MVC, but does not force it on you.

Exceptional performance

CodeIgniter consistently outperforms most of its competitors.

No large-scale monolithic libraries

CodeIgniter is not trying to be all things to all people. It is a lean MVC framework, with enough capabilities to improve your productivity, while providing for third-party addons/plugins for additional functionality.

Nearly zero configuration

Much of the CodeIgniter configuration is done by convention, for instance putting models in a “models” folder. There are still a number of configuration options available, through scripts in the “config” folder.

No need for template language

CodeIgniter comes with a simple, substitution based, templating tool. Addons/plugins are available for most of the full-blown templating engines, if that is what you are used to.

Spend more time away from the computer

Don’t we all want it? CodeIgniter is easy to learn and to get proficient with.


PHP 7Are you looking for the latest status, news, articles, features or updates about the newest version after PHP 5.X? After a long voting process by the community, the name for the next major PHP version has been finalized! The winning proposal is to call the latest major version PHP 7.
So here’s the top 5 things you must know about PHP 7!

The PHP 7 Timeline RFC was approved in a near unanimous vote, and aims to release PHP 7 in October 2015. Even if it’s delayed a bit, we’re still likely to see it before the year is out!! The final feature set for PHP 7 is almost completely finalized, and will officially close by the end of March.
See the PHP 7 timeline



PHP 7 will introduce a new operator <=> conveniently similar to a TIE fighter and dubbed the Spaceship Operator. It can be used for combined comparisons – mostly when dealing with sorting.
See more info



PHP 7 will allow developers to declare what kind of return type a function is expected to have – similar to argument Type Hints.

In addition, argument type hints and the new return-type declarations now support new scalar types, allowing developers to denote that they’re expecting strings, floats, ints or bools to be passed or returned.



PHP 7 is based on the PHPNG project (PHP Next-Gen), that was led by Zend to speed up PHP applications. The performance gains realized from PHP 7 are huge! They vary between 25% and 70% on real-world apps, and all of that just from upgrading PHP, without having to change a single line of code!



Since PHPNG was open sourced and later merged into PHP 7, its performance more than doubled in many cases, and we’re continuing to improve it all the time.

To put things in perspective – when PHPNG was published, the WordPress homepage required approx. 9.4 billion CPU instructions to execute.  As of now – it requires only 2.6 billion – that’s 72% less!

SOLR Configuration with Magento

Step By Stem Integration of SOLR on system With Magento Site :

Things we nedded :

1. JAVA Development Kit (JDK)

2. PHP

3. Apache Server

4. Solr extension (From Magento Connect )

If you are using Linix :

First open the Terminal :

Type :

rahul@rahul:~$ java -version (To check java is install or not ).

If not available then :

Follow this step ono by one :

rahul@rahul:~$ sudo rm /var/lib/dpkg/info/oracle-java7-installer*

rahul@rahul:~$ sudo apt-get purge oracle-java7-installer*

rahul@rahul:~$ sudo rm /etc/apt/sources.list.d/*java*

rahul@rahul:~$ sudo apt-get update

rahul@rahul:~$ sudo apt-get update

rahul@rahul:~$ sudo add-apt-repository ppa:webupd8team/java

rahul@rahul:~$ sudo apt-get install oracle-java7-installer

rahul@rahul:~$ java -version

Result :

rahul@rahul:~$ java version “1.7.0_04”

rahul@rahul:~$ Java(TM) SE Runtime Environment (build 1.7.0_04-b20)

rahul@rahul:~$ Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

Now we have install java Successfully ;

Now come to apache server :

Install Apache server if not installed :

for 32-bit:

Type this on terminal or cmd :

rahul@rahul:~$ wget

For 64-bit:

rahul@rahul:~$ wget

Now go to the download folder and rename the download file to :

rahul@rahul:~$ sudo chmod +x

rahul@rahul:~$ sudo ./

To stop the XAMPP service:

rahul@rahul:~$ sudo /opt/lampp/lampp stop

To start the XAMPP service:

rahul@rahul:~$ sudo /opt/lampp/lampp start

Now we have install Lampp on our local server ;

still having any problem so visit :

Now we will install SOLR Server :

Download it from here : Download

Next unzip the package:


Move newly created directory to /opt

Type this command on Terminal :

rahul@rahul:~$ sudo mv solr-4.10.4 /opt/

rahul@rahul:~$ cd /opt/solr-4.10.4/example/

if getting error bash permission denied or file directory not found, then provide permission to opt

by typing :

rahul@rahul:~$ sudo chmod 777 ‘/opt’ -R

rahul@rahul:~$ cd /opt

rahul@rahul:/opt$ cd solr

rahul@rahul:/opt/solr$ cd example

rahul@rahul:/opt/solr/example$ java -jar start.jar

Now it will show like this ;

4146 [coreLoadExecutor-5-thread-1] INFO – Opening Searcher@5bcfdbdb[collection1] main

4152 [coreLoadExecutor-5-thread-1] INFO – File-based storage initialized to use dir: /opt/solr/example/solr/collection1/conf

4152 [coreLoadExecutor-5-thread-1] INFO – Initializing RestManager with initArgs: {storageDir=/opt/solr/example/solr/collection1/conf}

4163 [coreLoadExecutor-5-thread-1] INFO – Reading _rest_managed.json using file:dir=/opt/solr/example/solr/collection1/conf

4189 [coreLoadExecutor-5-thread-1] INFO – Loaded LinkedHashMap at path _rest_managed.json using file:dir=/opt/solr/example/solr/collection1/conf

4190 [coreLoadExecutor-5-thread-1] INFO – Loaded initArgs {} for /rest/managed

4190 [coreLoadExecutor-5-thread-1] INFO – Initializing 0 registered ManagedResources

4191 [coreLoadExecutor-5-thread-1] INFO org.apache.solr.handler.component.SpellCheckComponent – Initializing spell checkers

4199 [coreLoadExecutor-5-thread-1] INFO org.apache.solr.handler.component.SpellCheckComponent – Registering newSearcher listener for spellchecker: default

4199 [coreLoadExecutor-5-thread-1] INFO org.apache.solr.handler.component.SpellCheckComponent – No queryConverter defined, using default converter

4213 [searcherExecutor-6-thread-1] INFO org.apache.solr.core.SolrCore – [collection1] Registered new searcher Searcher@5bcfdbdb[collection1] main{StandardDirectoryReader(segments_f:38:nrt _e(4.10.4):C5)}

4213 [coreLoadExecutor-5-thread-1] INFO org.apache.solr.core.CoreContainer – registering core: collection1

4214 [main] INFO org.apache.solr.servlet.SolrDispatchFilter – user.dir=/opt/solr/example

4215 [main] INFO org.apache.solr.servlet.SolrDispatchFilter – SolrDispatchFilter.init() done

4249 [main] INFO org.eclipse.jetty.server.AbstractConnector – Started SocketConnector@

Now go to the browser and type :


The solr server run on 8983 port .

Now open your magento site Admin panel and go to the extension magento connect :

and type this in extension field :

install it and proceed it .

Now return to admin panel :

And go to System -> Configuration -> Catalog -> and find :

In this panel open General setting and Solr server

Enabled it and in solr server every thing is already set

Click on test connection if the result is success :

then only solr will run correct :

Now one more thing to do that is very important and o it very carefully :

Go to you root directory :

or : open : opt/lampp/htdocs/magento-folder/app/code/community/JeroenVermeulen/Solarium/docs/

And copy two file :

1: Schema.xml

2. Solrconfig.xml

And paste it at given folder :

Note : before pasting take backup of that file :

folder : opt/solr/example/solr/collection1/conf/

Congratulation now you have successfully configured Solr to your magento site , now add category and products to see the solr working .

Go to you home page of you website and search your product :

For solr documentation visit :


Download some important notes :  Magento_For_Php_Mvc

Create a website or blog at

Up ↑

%d bloggers like this: