<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://www.designmagick.com/templates/newdesign/rssdisplay.xslt" type="text/xsl" ?>
<rss version="2.0">
  <channel>
	<title>PostgreSQL &amp; PHP Tutorials - Rss Blogs Feed</title>
	<link>http://www.designmagick.com/rss.php?blogs</link>
	<description />
	<language>en-us</language>
	<generator>MyCMS (copyright DesignMagick)</generator>
	<webMaster>chris@designmagick.com</webMaster>
	<lastBuildDate>Thu, 09 Sep 2010 19:27:13 -0400</lastBuildDate>
	<ttl>20</ttl>

	<item>
  <title>Database Design Issues</title>
  <link>http://www.designmagick.com/blogs/37/Database-Design-Issues</link>
  <description>Creating a good database design takes some thought. Sometimes, a normalized database won't perform the way you want it. Using some features of postgresql, you could get your performance back.&lt;br /&gt;
&lt;br /&gt;
I decided to use some functions and triggers to keep queries nice and simple, but not lose any functionality and keep data redundancy to a minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.designmagick.com/article/36/Forum-Project/Database-Design-Issues&quot; target=&quot;_blank&quot;&gt;Read more..&lt;/a&gt;&lt;br /&gt;
</description>
  <pubDate>Thu, 20 Apr 2006 10:15:52 -0400</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/37/Database-Design-Issues</guid>
</item>
<item>
  <title>Forum Progress Part II</title>
  <link>http://www.designmagick.com/blogs/35/Forum-Progress-Part-II</link>
  <description>The forum is very slowly getting put together. The basic admin areas are done:&lt;br /&gt;
&lt;br /&gt;
- forums have group access&lt;br /&gt;
- groups can have users&lt;br /&gt;
&lt;br /&gt;
Since most of the work is done on the frontend, I have been putting the design together and working out how to keep things in check.&lt;br /&gt;
&lt;br /&gt;
Since postgresql has advanced features, I've decided to use some of those.&lt;br /&gt;
&lt;br /&gt;
Instead of having to do a query to get thread counts and post counts per forum, I'll use a trigger to keep this info up to date when a thread or post is added to a particular forum.&lt;br /&gt;
&lt;br /&gt;
I also use a &lt;a href=&quot;http://www.postgresql.org/docs/8.1/static/plpgsql-trigger.html&quot; target=&quot;_blank&quot;&gt;plpgsql&lt;/a&gt; &lt;a href=&quot;http://www.postgresql.org/docs/8.1/static/triggers.html&quot; target=&quot;_blank&quot;&gt;trigger &lt;/a&gt; to keep the &quot;last post time&quot;, &quot;last post author&quot; and &quot;last post id&quot; (which makes navigating a particular forum a little easier).&lt;br /&gt;
&lt;br /&gt;
Lastly, if a forum, group, or user gets deleted, then it will clean up after itself by using &lt;a href=&quot;http://www.postgresql.org/docs/8.1/static/ddl-constraints.html#DDL-CONSTRAINTS-FK&quot; target=&quot;_blank&quot;&gt;referential integrity checks&lt;/a&gt; and &quot;on delete cascade&quot; triggers. This will cause postgresql to delete anything that refers to a particular item.&lt;br /&gt;
&lt;br /&gt;
Much easier than having to replicate that functionality in code and missing something!</description>
  <pubDate>Mon, 17 Apr 2006 09:27:34 -0400</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/35/Forum-Progress-Part-II</guid>
</item>
<item>
  <title>Forum Progress</title>
  <link>http://www.designmagick.com/blogs/33/Forum-Progress</link>
  <description>I haven't made much progress with the new forum yet, but I've worked out how to manage permissions.&lt;br /&gt;
&lt;br /&gt;
At the bottom level will be users.&lt;br /&gt;
&lt;br /&gt;
Users will be in groups.&lt;br /&gt;
&lt;br /&gt;
Groups will have permissions in particular forums (so a user can be a forum moderator in a particular forum, but a simple user in another).&lt;br /&gt;
&lt;br /&gt;
So permissions are basically worked out (writing the API will be a little bit of work but shouldn't be too difficult now I've worked out the logic behind it all).&lt;br /&gt;
&lt;br /&gt;
Then, forums will (potentially) have subforums.&lt;br /&gt;
&lt;br /&gt;
A forum will have many threads.&lt;br /&gt;
</description>
  <pubDate>Sun, 02 Apr 2006 08:59:11 -0400</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/33/Forum-Progress</guid>
</item>
<item>
  <title>New project</title>
  <link>http://www.designmagick.com/blogs/30/New-project</link>
  <description>I've decided to do something a little more constructive than random tutorials.&lt;br /&gt;
&lt;br /&gt;
I've been looking for a forum to put on the site to make it a bit more interactive, but haven't been able to find anything suitable.&lt;br /&gt;
&lt;br /&gt;
Either they are mysql-only or security-issue prone.&lt;br /&gt;
&lt;br /&gt;
Fud-forum works with postgresql but doesn't take advantage of a lot of postgresql features (like subqueries) because it has to work in mysql and postgresql - so it does a ton of queries with every page.&lt;br /&gt;
&lt;br /&gt;
So, what features am I looking for?&lt;br /&gt;
&lt;br /&gt;
On the tech side:&lt;br /&gt;
&lt;br /&gt;
- postgresql support&lt;br /&gt;
- clean, fast&lt;br /&gt;
- nice interface&lt;br /&gt;
- limited sql queries&lt;br /&gt;
- possibly caching.&lt;br /&gt;
&lt;br /&gt;
On the design/interface side:&lt;br /&gt;
- clean&lt;br /&gt;
- template based&lt;br /&gt;
- fast&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any suggestions on where to start looking for such a forum, or have any feature suggestions send 'em through!&lt;br /&gt;
&lt;br /&gt;
Might see if I can set up a cvs or subversion server and get others to help me out ;) Let me know if you're interested.&lt;br /&gt;
</description>
  <pubDate>Tue, 28 Mar 2006 06:02:52 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/30/New-project</guid>
</item>
<item>
  <title>Comment Spam</title>
  <link>http://www.designmagick.com/blogs/28/Comment-Spam</link>
  <description>I'm glad I set up comments with comment-spam in mind. They are not automatically authorized, and I added checks in to make sure you can't send mail through them (I don't get notified when a comment gets made, it's just put into the system without being authorized).&lt;br /&gt;
&lt;br /&gt;
I'm starting to see a few spam messages come in through that way, maybe it's time for captcha to be added.. we'll see if it becomes more of a problem.&lt;br /&gt;
&lt;br /&gt;
I just added a quick introduction to full-text indexing in postgresql, since it's not as easy as other systems (unfortunately). The main development site for full-text indexing has some good documentation, so it's a quick guide to get you started.&lt;br /&gt;
</description>
  <pubDate>Sun, 26 Mar 2006 07:10:06 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/28/Comment-Spam</guid>
</item>
<item>
  <title>Log analyzer</title>
  <link>http://www.designmagick.com/blogs/25/Log-analyzer</link>
  <description>I found a useful little tool the other day.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://pqa.projects.postgresql.org/&quot; target=&quot;_blank&quot;&gt;Practical Query Analyzer&lt;/a&gt; (written in ruby) will parse a postgresql or mysql log (though at last look mysql support was broken) and tell you what sort of queries are being run. This can help you work out where to concentrate on increasing speed or reducing the number of queries being run.&lt;br /&gt;
&lt;br /&gt;
I use mysql a lot at work so I wrote a small perl script to give me the same output. My ruby skills are extremely basic so it seemed easier to do it in perl.&lt;br /&gt;
</description>
  <pubDate>Wed, 08 Mar 2006 07:02:28 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/25/Log-analyzer</guid>
</item>
<item>
  <title>New tutorials on the way</title>
  <link>http://www.designmagick.com/blogs/24/New-tutorials-on-the-way</link>
  <description>Hi all,&lt;br /&gt;
&lt;br /&gt;
I'm busy trying to come up with new tutorial ideas.&lt;br /&gt;
&lt;br /&gt;
I'm in the middle of writing a tutorial about sql trees (this is a bit more advanced than the current ones on the site). They replace parent / id relationships and with larger systems can speed things up quite a bit.&lt;br /&gt;
&lt;br /&gt;
I'm also in the process of writing a python script to analyze queries to check for indexes. This one is going to take a while since I'm new to python and reading postgresql explain output is tricky :)&lt;br /&gt;
&lt;br /&gt;
If you have any ideas on tutorials - please send them through!&lt;br /&gt;
&lt;br /&gt;
If you have any comments about the site or the content, send it through - I'm happy to get all feedback!</description>
  <pubDate>Tue, 07 Mar 2006 06:42:39 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/24/New-tutorials-on-the-way</guid>
</item>
<item>
  <title>Mysql..</title>
  <link>http://www.designmagick.com/blogs/22/Mysql..</link>
  <description>Bit of a strange topic to find on a site about postgresql.. but mysql has some strange ideas.&lt;br /&gt;
&lt;br /&gt;
I found &lt;a href=&quot;http://www.futhark.ch/mysql/135.html&quot; target=&quot;_blank&quot;&gt;a mysql blog&lt;/a&gt; that details a rather strange bug.&lt;br /&gt;
&lt;br /&gt;
Some queries are not logged into the system log.&lt;br /&gt;
&lt;br /&gt;
I'm not really sure why but the poster doesn't seem to think it's a critical bug!?&lt;br /&gt;
&lt;br /&gt;
If you want to see what queries are running against your database, you'd think the system log would capture everything.&lt;br /&gt;
&lt;br /&gt;
I wonder if it could be modified to actually insert data using an &quot;insert into select&quot; query..&lt;br /&gt;
</description>
  <pubDate>Thu, 02 Mar 2006 06:03:38 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/22/Mysql..</guid>
</item>
<item>
  <title>Blog Intro</title>
  <link>http://www.designmagick.com/blogs/21/Blog-Intro</link>
  <description>Hey guys,&lt;br /&gt;
&lt;br /&gt;
This blog is going to be about random stuff to do with the web - not necessarily php or postgresql.&lt;br /&gt;
&lt;br /&gt;
I'm still looking for ideas on articles so send 'em through!</description>
  <pubDate>Thu, 02 Mar 2006 05:58:59 -0500</pubDate>
  <author>chris@designmagick.com (Chris Smith)</author>
  <guid>http://www.designmagick.com/blogs/21/Blog-Intro</guid>
</item>


  </channel>
</rss>
