postgres

package
v0.0.0-...-d761283 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	PG13 = PGVersion{version{
			// contains filtered or unexported fields
	}}
	PG14 = PGVersion{version{
			// contains filtered or unexported fields
	}}
	PG15 = PGVersion{version{
			// contains filtered or unexported fields
	}}
	PG16 = PGVersion{version{
			// contains filtered or unexported fields
	}}
)

Functions

This section is empty.

Types

type Client

type Client struct{}

func New

func New() *Client

func (Client) Dump

func (Client) Dump(
	version PGVersion, connString string, params ...DumpParams,
) io.Reader

Dump runs the pg_dump command with the given parameters. It returns the SQL dump as an io.Reader.

func (*Client) DumpZip

func (c *Client) DumpZip(
	version PGVersion, connString string, params ...DumpParams,
) io.Reader

DumpZip runs the pg_dump command with the given parameters and returns the ZIP-compressed SQL dump as an io.Reader.

func (Client) ParseVersion

func (Client) ParseVersion(version string) (PGVersion, error)

ParseVersion returns the PGVersion enum member for the given PostgreSQL version as a string.

func (Client) RestoreZip

func (Client) RestoreZip(
	version PGVersion, connString string, isLocal bool, zipURLOrPath string,
) error

RestoreZip downloads or copies the ZIP from the given url or path, unzips it, and runs the psql command to restore the database.

The ZIP file must contain a dump.sql file with the SQL dump to restore.

  • version: PostgreSQL version to use for the restore
  • connString: connection string to the database
  • isLocal: whether the ZIP file is local or a URL
  • zipURLOrPath: URL or path to the ZIP file

func (Client) Test

func (Client) Test(version PGVersion, connString string) error

Test tests the connection to the PostgreSQL database

type DumpParams

type DumpParams struct {
	// DataOnly (--data-only): Dump only the data, not the schema (data definitions).
	// Table data, large objects, and sequence values are dumped.
	DataOnly bool

	// SchemaOnly (--schema-only): Dump only the object definitions (schema), not data.
	SchemaOnly bool

	// Clean (--clean): Output commands to DROP all the dumped database objects
	// prior to outputting the commands for creating them. This option is useful
	// when the restore is to overwrite an existing database. If any of the
	// objects do not exist in the destination database, ignorable error messages
	// will be reported during restore, unless --if-exists is also specified.
	Clean bool

	// IfExists (--if-exists): Use DROP ... IF EXISTS commands to drop objects in
	// --clean mode. This suppresses “does not exist” errors that might otherwise
	// be reported. This option is not valid unless --clean is also specified.
	IfExists bool

	// Create (--create): Begin the output with a command to create the database
	// itself and reconnect to the created database. (With a script of this form,
	// it doesn't matter which database in the destination installation you
	// connect to before running the script.) If --clean is also specified, the
	// script drops and recreates the target database before reconnecting to it.
	Create bool

	// NoComments (--no-comments): Do not dump comments.
	NoComments bool
}

DumpParams contains the parameters for the pg_dump command

type PGVersion

type PGVersion enum.Member[version]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL