Connect WPForms submissions to the PostgreSQL database integration plugin (WPForms PGDB).
This plugin automatically saves the submissions to PostgreSQL in separate tables and columns.
We can save submissions to an internal or external (remote) PostgreSQL database.
It will automatically generate PSQL tables and columns. No need for any extra coding for simple use.
Other Database Plugins
- Contact form 7 database plugin
- Ninja Forms database plugin
- Contact Form 7 Database (wordpress.org)
- WPForms MYSQL plugin
WPForms Form
It is a demo WPForms form’s front view. You can see the table and column generated for Postgresql for this demo form.
WPForms Auto-Generated Postgresql Table (DBeaver)
It is an auto-generated PSQL table.
WPForms WP-Admin Dashboard
How to Save WPForms to PSQL Database?
Enable PostgreSQL PHP extension. You can enable it by cPanel or the command line.
Go to cPanel > MultiPHP Manager > Extensions > select pgsql and pdo_pgsql.
Install PHP PostgreSQL extension on Linux:
1 |
sudo apt-get install php-pgsql |
1 |
sudo apt-get install php-pdo_pgsql |
Add the following code in the php.ini file and restart the server.
extension=psql.so
extension=pdo_psql.so
Then restart the server.
Install DB4 Wpforms WordPress plugin. Then go to Wpforms PGDB > Switch Database > Add PSQL Credentials.
Now, We can see new tables created in our PSQL database. We can add an internal or remote database.
How Does it Generate PSQL Table Name?
The default table name is {prefix}_form_{form_id}.
Example is wp_form_105.
If we need to change the PSQL table name, then add the following code to theme functions.php then we can change the table name.
1 2 3 4 5 6 7 |
add_filter('pg4wp_form_table_name', 'my_custom_change_entry_table_name', 10, 3); function my_custom_change_entry_table_name($table_name, $form_id, $prefix){ if( $form_id == 105){ $table_name = 'my_custom_table'; } return $table_name; } |
How Does it Generate PSQL Column Name?
The default column name is coming from the input field label or placeholder.
Example: Label is First Name then the PSQL column name is first_name.
We can change the column name by following the code. Add the following code to theme functions.php
1 2 3 4 5 6 7 |
add_filter('pg4wp_form_map_data', 'my_custom_change_column_name', 10, 3); function my_custom_change_column_name($arr, $form_id){ if( $form_id == 105){ $arr['first_name'] = 'my_custom_name'; } return $arr; } |
$79 for unlimited installation.