• Stars
    star
    140
  • Rank 261,473 (Top 6 %)
  • Language
    PHP
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A temporary fork of https://wordpress.org/plugins/postgresql-for-wordpress/ with changes from kevinoid.
=== PostgreSQL for WordPress (PG4WP) ===
Contributors: Hawk__ (http://www.hawkix.net/)
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FPT8RPZGFX7GU
Tags: database, postgresql, PostgreSQL, postgres, mysql
Requires at least: 2.9.2
Tested up to: 4.5.3
Stable tag: 1.3.1
License: GPLv2 or later

PostgreSQL for WordPress is a special 'plugin' enabling WordPress to be used with a PostgreSQL database.

== Description ==

PostgreSQL for WordPress (PG4WP) gives you the possibility to install and use WordPress with a PostgreSQL database as a backend.
It works by replacing calls to MySQL specific functions with generic calls that maps them to another database functions and rewriting SQL queries on the fly when needed.

Currently, support is focused on PostgreSQL, but other databases can be added quite easily by providing the appropriate 'driver'.
MySQL driver is enclosed, which just does "nothing".
If you need/wish support for another database, please feel free to contact the author, writing a driver is not really hard if you know a bit about SQL and the database you want support for.

If you want to use this plugin, you should be aware of the following :
- WordPress with PG4WP is expected to be slower than the original WordPress with MySQL because PG4WP does much SQL rewriting for any page view
- Some WordPress plugins should work 'out of the box' but many plugins won't because they would need specific code in PG4WP

You shouldn't expect any plugin specific code to be integrated into PG4WP except for plugins shipped with WordPress itself (such as Akismet).
PG4WP 2.0 will have a mechanism to add plugin support.

== Installation ==

You have to install PG4WP *before* configuring your WordPress installation for things to work properly. 
This is because the database needs to be up and running before any plugin can be loaded.

1.  Place your WordPress files in the right place on your web server.

1.	Unzip the files from PG4WP and put the `pg4wp` directory in your `/wp-content` directory.

1.	Copy the `db.php` from the `pg4wp` directory to `wp-content`
	
	You can modify this file to configure the database driver you wish to use
	Currently you can set 'DB_DRIVER' to 'pgsql' or 'mysql'
	
	You can also activate DEBUG and/or ERROR logs

1.	Create `wp-config.php` from `wp-config-sample.php` if it does not already exist (PG4WP does not currently intercept database connection setup).

1.	Point your Web Browser to your WordPress installation and go through the traditional WordPress installation routine.

== Frequently Asked Questions ==

= I have an error adding a new category =

You should try to run `SELECT setval('wp_terms_seq', (SELECT MAX(term_id) FROM wp_terms)+1);` to correct the sequence number for the `wp_terms` table.

Note : you should replace wp_ with the appropriate table prefix if you changed it in your WordPress installation

= Does plugin `put any plugin name here` work with PG4WP ? =

There is no simple answer to this question.
Plugins not doing any database calls will certainly work.

Database-intensive plugins may work, but most of them would require specific code in PG4WP to work.

You should backup your setup (at least database) and try to install the plugin to see if it works or not.
Whether it worked or not, you should tell me the result of your test, so that I can create some kind of listing of working/not working plugins.

== Screenshots ==
There is no screenshot for this plugin

== Changelog ==

= 1.3.1 =
* Integrated changes pointed in http://vitoriodelage.wordpress.com/2014/06/06/add-missing-wpsql_errno-in-pg4wp-plugin/ to correct problems with WP 3.9.1

= 1.3.0 =
* Some cleanup in old code that is not needed anymore
* Enhanced wordpress-importer compatibility
* Optimizations in wpsql_insert_id()

= 1.3.0b1 =
* Added support for PostgreSQL 9.1+ (doesn't break compatibility with older versions)
* Added support for specifying port in the server host (eg 'localhost:3128') (Patch from convict)
* Added a handle for converting CAST(... AS CHAR) to CAST(... AS TEXT) (Problem pointed out by Aart Jan)
* Added a filter to remove 'IF NOT EXISTS' for 'CREATE TABLE' queries
* Enhancements for WPMU support

= 1.2.2 =
* Corrected SQL_CALC_FOUND_ROWS handling, was broken by the latest code reorganisation

= 1.2.1 =
* Corrected 'ON DUPLICATE KEY ...' handling (was not working at all)
* Modified SQL_CALC_FOUND_ROWS handling for correct paging
* Some conversion handling for WPMU to install correctly (WPMU not working yet though)
* Improved installation/upgrade handling code (better detection of indexes, ADD COLUMN support, ...)

= 1.2.0 =
* Error logging is disabled in the distribution
* Added a handle for correct counting of users and roles
* Added MONTH and YEAR to the 'INTERVAL...' handling code
* Removed all ZdMultilang support hacks

= 1.2.0rc =
* Disabled all ZdMultilang support hacks
* Fixed regressions that caused some Wordpress features to not work properly
* Rewrote database connection handling so Wordpress installation can tell you when your username and password are wrong
* Support for using an empty password for database connection
	Note : this requires setting 'PG4WP_INSECURE' to true in `db.php` for PG4WP to accept this
* Some code optimizations

= 1.2.0b1 =
* Somewhat improved Wordpress plugins compatibility
* Added 'PG4WP_INSECURE' parameter for future use
* Split 'db.php' to be just some kind of loader for PG4WP to ease upgrading
* Improved Akismet compatibility
* Upgrading works with minor errors (PostgreSQL complains about already existing relations)
	Tested successfully : 2.9.2 to 3.0.6 - 2.9.2 to 3.1.4 - 2.9.2 to 3.2.1
* Support for Wordpress up to 3.2.1 (Installing WP 2.9.2, 3.0.6, 3.1.4 and 3.2.1 works smoothly)
* Implemented a generic "INTERVAL xx DAY|HOUR|MINUTE|SECOND" handler
* Backticks and capital text containing 'ID' now work 
* Improved db.php to remove notices and possible fatal errors
* Improved dates functions handling
* PG4WP now appears in WordPress control panel and can be enabled/disabled but this has no real effect
* Added a correct plugin header into db.php to have correct informations shown in WordPress plugin Directory

= 1.1.0 =
* This release is identical to 1.1.0rc4, just has error logging deactivated in the distribution

= 1.1.0rc4 =
* Corrected a typo in permalinks handling

= 1.1.0rc3 =
* Reordered the date_funcs array (Thanks to Boris HUISGEN for reporting the problem and submitting a patch)
* Moved the hack about WP using meta_value = integer (instead of text) out of the SELECT handler
* Boris HUISGEN submitted a patch for permalinks to work properly

= 1.1.0rc =
* Hack for WP using meta_value = integer (instead of text)
* Moved parts required only when installing/upgrading from driver_pgsql.php to a separate file
	The file is loaded only when needed so that memory footprint should be a bit smaller
* Added UNIX_TIMESTAMP support
* Added DATE_SUB support for Akismet 2.2.7
* Added DAYOFMONTH support (Thanks to Pete Deffendol for noticing the problem)
* Upgrading from WP 2.8.6 to WP 2.9.1 works with a minor error
	Upgrading should remove an index on table "wp_options" that may not exist, throwing an error
* Installing WP 2.9.1 works smoothly
* Generic hack to avoid duplicate index names
* REGEXP gets replaced with '~'
* Added a hack to handle "ON DUPLICATE KEY" 
* Moved handling field names with CAPITALS near the end
* Added support for "INTERVAL 15 DAY" found in Akismet 2.2.7

= 1.0.2 =
* Updated support for plugin zdMultilang 1.2.5
* Got rid of some remaining hardcoded table prefix
* Added the possibility to log only errors

= 1.0.1 =
* Reorganisation of directory structure
* Updated installation procedure
* Changed the fake server version to 4.1.3
* Added support for Unix socket connections (just leave the "host" field empty when installing)

= 1.0.0 =
* Initial stable release.
* Code optimisation and reorganisation.
* `db.php` automatically rewrites `wp-db.php` when loading it, so no maintenance is needed anymore
	It also reduces the size of the archive :)
* Debug logs are now written in the `pg4wp` directory
* Renamed the driver files

= 0.9.11 =
* MySQL's DESCRIBE emulation ( for WordPress upgrade process )
* MySQL's SHOW INDEX emulation  ( for WordPress upgrade process )
* ALTER TABLE support ( for WordPress upgrade process )
* Added INDEX creation support when installing
* Cleaned type conversion Array
* Some code optimizations and cleanup
* One debug log file for each query type
* Tested successfully with WP 2.7.1 (Installs with no error + Upgrade to 2.8 OK with non blocking errors)
* Tested successfully with WP 2.6.5 (Installs with no error + Upgrade to 2.8 OK with non blocking errors)
* Tested successfully with WP 2.5.1 (Installs with no error + Upgrade to 2.8 OK)

= 0.9.10 =
* Ignore errors about non existing table "wp_options" while installing WordPress when debugging is on
* SQL_CALC_FOUND_ROWS emulation, to have correct posts paging
* Introduced support for the ZdMultiLang plugin

= 0.9.9 =
* Comments deletion now works again
* Most specific global variables renamed to have 'pg4wp' in their name

= 0.9.8 =
* Case insensitivity of MySQL 'LIKE' restored
* Importing WordPress eXtended RSS tested and seems to work

== Upgrade Notice ==

= 1.2.0 =
This version provides support for Wordpress up to 3.2.1
Upgrading to this version requires you to replace your existing `dp.php` with the one from the `pg4wp` directory.
Note : since 1.2.0b1, it is recommended to put the `pg4wp` directory directly in `/wp-content`

= 1.0 =
Initial stable release, you should upgrade to this version if you have installed any older release

== License ==
PG4WP is provided "as-is" with no warranty in the hope it can be useful.

PG4WP is licensed under the [GNU GPL](http://www.gnu.org/licenses/gpl.html "GNU GPL") v2 or any newer version at your choice.

More Repositories

1

git-branch-is

Assert that the name of the current branch of a git repository has a particular value.
JavaScript
96
star
2

vim-jsonc

โš ๏ธDeprecatedโš ๏ธ: Vim syntax highlighting plugin for JSON with C-style line (//) and block (/* */) comments.
Vim Script
51
star
3

remove-nonpresent-devices

Script to remove non-present devices from a Windows computer system
JavaScript
30
star
4

ultragetopt

A versatile and customizable cross-platform getopt implementation.
C
10
star
5

swagger-spec-validator

Validate an OpenAPI/Swagger API specification using the swagger.io online validator.
JavaScript
9
star
6

appveyor-swagger

Unofficial AppVeyor REST API Swagger Definition
8
star
7

jekyll-highlight-file

A Liquid filter for Jekyll which outputs highlighted file content
Ruby
7
star
8

python-project-template

A Python project template with pytest, tox, Sphinx , GitHub Actions, GitLab CI, coveralls, Codecov, and several linters including flake8, Bandit, Black, pyroma, and others.
Python
7
star
9

auth-mailbox-joomla

Plugin for Joomla! to authenticate users against a mail server using IMAP, NNTP, or POP3.
PHP
6
star
10

promised-read

Read from a stream using Promises, with support for timeouts, cancellation, and several ways to determine how much data to read.
JavaScript
3
star
11

nodecat

A Node.js implementation of cat, as specified by POSIX/SUSv3. No frills, no buffering, no charset conversion, just cat.
JavaScript
3
star
12

node-project-template

A bare-bones project template for Node.js projects with some of the tooling that I like to use with Node projects.
JavaScript
3
star
13

travis-status

An implementation of the status subcommand of The Travis Client in Node.js, with a few extra features.
JavaScript
3
star
14

py-gnupg

GnuPGInterface Python module (kevinoid's working copy)
Python
3
star
15

userscript-template

A userscript (viz. Greasemonkey/Tampermonkey/Violentmonkey script) project template with codecov, coveralls, ESLint, github_changelog_generator, istanbul, JSDoc, and mocha.
JavaScript
3
star
16

stdio-context

โ›” [UNMAINTAINED] Replace stdin, stdout, and/or stderr, including console methods, with arbitrary streams for capture, redirection, testing, or other purposes.
JavaScript
2
star
17

NetCoreProject

A .NET Core project template with Roslyn Analyzers, xUnit, AppVeyor, Coverlet, and codecov/coveralls.
C#
2
star
18

promise-nodeify

Call a Node-style callback with the resolution value or rejection cause of a Promise without the common pitfalls.
JavaScript
2
star
19

omnivalidator

An add-on for Firefox (and compatible browsers) which eases the process of validating resources (typically pages) against a set of user-configurable validation services. Also available at https://addons.mozilla.org/en-US/firefox/addon/omnivalidator/
JavaScript
2
star
20

inflate-auto

Decompression stream which detects the compression format from the compressed data with minimal buffering. Detects Gzip, Deflate, and DeflateRaw by default.
JavaScript
2
star
21

stackoverflow-share-remove-user-id

A userscript (viz. Greasemonkey/Tampermonkey/Violentmonkey script) to remove the User ID from short URLs displayed by the "Share" button on Stack Overflow and other Stack Exchange sites.
JavaScript
2
star
22

eslint-config-kevinoid

ESLint shareable config for @kevinoid's style (based on Airbnb).
JavaScript
1
star
23

stream-compare

Compare the behavior of readable streams.
JavaScript
1
star
24

ytdl2rss

Create podcast RSS from youtube-dl info JSON.
Python
1
star
25

mocha-ur2ue

Mocha root hook plugin to convert unhandled rejection events to unhandled exceptions so that they will cause test failures.
JavaScript
1
star
26

noderegression

An automated tool for regression range-finding in the Node.js runtime using nightly builds. A Node.js equivalent of mozregression.
JavaScript
1
star
27

appveyor-status

Node.js-based script and module to query AppVeyor build status via the AppVeyor REST API.
JavaScript
1
star
28

procore-docs-to-openapi

Convert Procore REST API documentation JSON files to OpenAPI.
JavaScript
1
star
29

verizonmessages2sms

A Python script to convert text messages stored in the SQLite database of the Verizon Messages Windows App into XML readable by the Carbonite SMS Backup & Restore Android App.
Python
1
star
30

pdi-prompt-step-plugin

Plugin for Pentaho Data Integration/Kettle which provides a transformation step to prompt the user for information.
Java
1
star