43 lines
1 KiB
Perl
43 lines
1 KiB
Perl
#!/usr/bin/perl
|
|
use strict;
|
|
use warnings FATAL => 'all';
|
|
use DBI;
|
|
|
|
my $dbi_info = 'dbi:Pg:dbname=postgres;host=localhost;port=5432';
|
|
my $db_username = 'postgres';
|
|
my $db_password = '0000';
|
|
|
|
my $request_create_table = q(
|
|
CREATE TABLE IF NOT EXISTS message (
|
|
created TIMESTAMP (0) WITHOUT TIME ZONE NOT NULL,
|
|
id VARCHAR NOT NULL,
|
|
int_id CHAR(16) NOT NULL,
|
|
str VARCHAR NOT NULL,
|
|
status BOOL,
|
|
CONSTRAINT message_id_pk PRIMARY KEY(ID)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS message_created_idx ON message (created);
|
|
CREATE INDEX IF NOT EXISTS message_int_id_idx ON message (int_id);
|
|
|
|
CREATE TABLE IF NOT EXISTS log (
|
|
created TIMESTAMP (0) WITHOUT TIME ZONE NOT NULL,
|
|
int_id CHAR(16) NOT NULL,
|
|
str VARCHAR,
|
|
address VARCHAR
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS log_address_idx ON log USING hash (address)
|
|
);
|
|
|
|
sub create_tables {
|
|
my $dbh = shift;
|
|
|
|
$dbh->do($request_create_table);
|
|
|
|
return 1;
|
|
}
|
|
|
|
my $dbh = DBI->connect( $dbi_info, $db_username, $db_password,
|
|
{ postgres_enable_utf8 => 1, RaiseError => 1 } );
|
|
create_tables($dbh);
|